سؤال:
تحديث DataGridView في الوقت الفعلي ، خاصة عندما يكون معدل التحديث مرتفعًا وعدد الخلايا كبيرة ، تكون العيوب البصرية مثل الخفقان والتأخر عرضة.
تحليل:
تقنية التخزين المؤقت المزدوجة تحل هذه المشكلات باستخدام المخازن المؤقتة خارج الشاشة.
حل:
تمكين وظيفة التخزين المؤقت المزدوجة من DataGridView من خلال انعكاس أو طرق التصنيف الفرعي.
إنشاء فئة فرعية من DataGridView ، فضح الخاصية المزدوجة:
public class DBDataGridView : DataGridView
{
public new bool DoubleBuffered
{
get { return base.DoubleBuffered; }
set { base.DoubleBuffered = value; }
}
public DBDataGridView()
{
DoubleBuffered = true;
}
}
أضف هذه الفئة إلى المشروع وتعيين مزدوج إلى True.
قم بتعيين DoubleBufferency برمجيًا باستخدام الانعكاس:
using System.Reflection;
static void SetDoubleBuffer(Control ctl, bool DoubleBuffered)
{
typeof(Control).InvokeMember("DoubleBuffered",
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty,
null, ctl, new object[] { DoubleBuffered });
}
استدعاء setDoubleBuffer لتبديل doublebuffered من dataGridView.
عن طريق تمكين DoubleBuffering ، ستقوم DataGridView برسم تحديثات باستخدام المخازن المؤقتة خارج الشاشة ، مما يقلل من الخفقان والتلعثم أثناء التحديثات المتكررة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3