原理
重写listview控件 开启双缓存机制???这玩意能解决大部分Winform控件闪烁的问题
重写代码
创建一个DoubleBufferListView类之后把下边的代码粘进去
public class DoubleBufferListView : ListView
{
public DoubleBufferListView()
{
SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
UpdateStyles();
}
}
替换创建listview控件的代码
找到窗体控件的初始化代码,按住ctrl点下图圈中的代码,进去控件设计代码,按ctrl+f直接搜索listview
将listview改成DoubleBufferListView即可,一个list控件需要修改两处
第一处
原代码:this.lvExamDate = new System.Windows.Forms.ListView();
修改后:this.lvExamDate = new DoubleBufferListView();
第二处
原代码:private ListView lvExamDate;
修改后:private DoubleBufferListView lvExamDate;
这就完了!!!