解决C#Winform中ListView控件闪烁问题

原理

重写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;

这就完了!!!

相关推荐

发表评论

邮箱地址不会被公开。 必填项已用*标注

微信扫一扫,分享到朋友圈

解决C#Winform中ListView控件闪烁问题
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close