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 防止闪烁的方法的主要内容,如果未能解决你的问题,请参考以下文章