تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال حول تهنيج داتا جريد فيو
#3
وعليكم السلام ورحمة الله وبركاته


يوجد طريقة طبعاً :


قم بإضافة ( Module ) جديد باسم ( Extensions ) : ( حصراً في Module )

قم بإضافة هذا الأمر في الـ( Module )  :

كود :
   <System.Runtime.CompilerServices.Extension>
   Public Sub SetDoubleBuffered(Ctrl As Object)
       Dim CtrlType As Type = Ctrl.[GetType]()
       Dim pi As System.Reflection.PropertyInfo = CtrlType.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
       pi.SetValue(Ctrl, True, Nothing)
   End Sub





الشكل النهائي لكامل الملف كالتالي :
كود :
Public Module Extensions

   <System.Runtime.CompilerServices.Extension>
   Public Sub SetDoubleBuffered(Ctrl As Object)
       Dim CtrlType As Type = Ctrl.[GetType]()
       Dim pi As System.Reflection.PropertyInfo = CtrlType.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
       pi.SetValue(Ctrl, True, Nothing)
   End Sub

End Module









لاحظ السطر :
<System.Runtime.CompilerServices.Extension>
الموجود أعلى الأمر SetDoubleBuffered

هذا السطر مفيد جداً 
يقوم بإضافة أمر جديد لكل الكنترولات الموجودة في الـ NET.
بحيث يمكنك إستدعاء الأمر من داخل المنترول نفسة

مثال :
أريد تسريع ( DataGridView ) ( داتا قريد فيو ) :
من داخل الفورم عند إنشاء الفورم أو الحدث ( New ) قم بإستدعاء هذا الامر لكل كنترول تريد تسريعة
بكل بساطة اكتب اسم الكنترول ثم استدعي الامر من داخل الكنترول نفسة كالتالي :
كود :
Me.UsersDataGridView.SetDoubleBuffered


مثال :
   










SetDoubleBuffered
هذا الأمر يقوم بزيادة الذاكرة العشوائية التي يستخدمها الكنترول ( أي كنترول ,, سواءً فورم , زر , صندوق نص , داتا قريد , وإلخ... من جميع الكنترولات )
عند زيادة الذاكرة العشوائية للكنترول نفسة ,, صبح الكنترول قادرة على إستخدام الذاكرة ( Memory ) بشكل أكبر وذلك مما يساعدة في تسريع العمليات المنفذة في الكنترول
وبالتالي تختفي الرعشة التي تظهر على الكنترول عند إعادة رسمة على الشاشة ,, مثل الداتا قريد فيو ,, عندما تعرض البيانات بشكل كبير فيها تظهر رعشة على الكنترول غير مرغوب فيها أبداً.


كل شيء يسصبح أسرع بعد إستخدام هذا الأمر على كل كنترول تريد تسريعة أو يظهر لك بطئ في الإستجابة.
حتى الفورم يمكن تسريعة إذا كان يحتوي على كنترولات كثيرةز

ستتفاجاء من سرعة الكنترول بعد إستخدام هذة الطريقة


تحياتي ...
الرد }}}


الردود في هذا الموضوع
RE: سؤال حول تهنيج داتا جريد فيو - بواسطة عبدالله الدوسري - 26-01-22, 01:37 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن الاسمبلي و النيم سبيس justforit 0 118 07-12-25, 12:28 AM
آخر رد: justforit
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 294 02-11-25, 11:19 PM
آخر رد: justforit
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,295 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [VB.NET] حقل الزامي ضمن داتا كريت فيو EMADW 1 415 20-05-25, 01:12 PM
آخر رد: princelovelorn
  [VB.NET] داتا كريت فيو EMADW 13 1,195 15-05-25, 10:48 PM
آخر رد: Taha Okla
  [VB.NET] جمع عمود داتا كريت فيو مع تجاهل الخلايا الفارغة EMADW 4 495 29-04-25, 10:57 PM
آخر رد: Taha Okla
  [VB.NET] ترقيم داتا كريت فيو EMADW 1 354 21-04-25, 11:52 PM
آخر رد: Taha Okla
  [نقاش] سؤال MetoDas 2 1,495 20-04-25, 10:21 PM
آخر رد: Kamil
  [سؤال] سؤال ترددت قبل نشرة:طابعة الباركود لماذا تطبع أكثر من ليبل فارغ قبل السليم dr.programming 1 516 20-04-25, 09:26 PM
آخر رد: Kamil
  [VB.NET] استدعاء داتا كريت فيو من فورم اخر EMADW 1 425 16-04-25, 06:10 PM
آخر رد: مصمم هاوي

التنقل السريع :


يقوم بقرائة الموضوع: