Windowns form DataGridView 闪烁问题
DataGridView当条目比较多的时候,滑动滚动条就会出现条目闪烁的问题体验很不好,解决问题就是使用双缓存,Form,panel之类的可以使用双缓存,不知道DataGridView也可以使用双缓冲。当然DataGridView双缓冲的接口是没有对外开放的,只能通过反射获取。
Public Form {
//设置窗体的双缓冲
this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint,true);
this.UpdateStyles();
//利用反射设置DataGridView的双缓冲
Type dtGridViewType = this.dtGridViewShow.GetType();
PropertyInfo pi = dtGridViewType.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
pi.SetValue(this.dtGridViewShow, true, null);
}
参考原文 连接