最近因为个人需求,需要利用ListView控件展示表格数据但是在频繁刷新下控件很容易频闪这是不能容忍的以下是控件优化代码:
public static class DoubleBufferListView
{
/// <summary>
/// 双缓冲,解决闪烁问题
/// </summary>
public static void DoubleBufferedListView(this ListView dgv, bool flag)
{
Type dgvType = dgv.GetType();
PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);
pi.SetValue(dgv, flag, null);
}
}
使用方法为在调用控件的类里面创建该类,并在初始化调用即可:
public void setview()
{
listView1.DoubleBufferedListView(true);//这个是调用哦
listView1.Columns.Add("NO");
listView1.Columns.Add("StepName", 150);
listView1.Columns.Add("USL",80);
listView1.Columns.Add("LSL",80);
.....
}
没错就是这么简单快去试试吧!