C#datagridview 防止闪烁的方法
Posted 何华荣博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#datagridview 防止闪烁的方法相关的知识,希望对你有一定的参考价值。
描述:拉动DataGridView滚动条时会出现闪烁,看起来像是在重画,感觉不是很好。
解决方式:采用双缓存机制,在方案中添加方法。
代码:
public static class ExtensionMethods
{
public static void DoubleBuffered(this DataGridView dgv, bool setting)
{
Type dgvType = dgv.GetType();
PropertyInfo pi = dgvType.GetProperty("DoubleBuffered",
BindingFlags.Instance | BindingFlags.NonPublic);
pi.SetValue(dgv, setting, null);
}
}
如果是使用DotNetBar的DatagridviewX控件
public static class DoubleBuffered
{
public static void DoubleBuffered(DataGridViewX dgv,bool setting)
{
Type dgvType = dgv.GetType();
PropertyInfo pi = dgvType.GetProperty("DoubleBuffered",BindingFlags.Instance|BindingFlags.NonPublic);
pi.SetValue(dgv,setting,null);
}
}
以上是关于C#datagridview 防止闪烁的方法的主要内容,如果未能解决你的问题,请参考以下文章
C# winform控件DataGridView中动态改变其中某列的值后,发现那列单元格文字会闪烁,不知是啥原因?
DataGridView CellFormatting 事件阻止表单绘制