解决C#中ListView数据刷新时界面闪烁的问题
来源:互联网 发布:淘宝的隐形眼镜靠谱吗 编辑:程序博客网 时间:2024/05/17 22:20
通常往ListView不断写入数据时,会发现ListView上的数据存在抖动闪烁的问题。对于追求完美的强迫症晚期患者而言,这一点是无法容忍的。同时也带来不良的用户体验。
下面通过双缓冲的方法解决该问题。
1. 新建一个类
public class DoubleBufferListView : ListView { public DoubleBufferListView() { SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); UpdateStyles(); }}
2. 实例化这个类,并在Form中具体设置
DoubleBufferListView listView1 = new DoubleBufferListView(); private void Spurious_Test_Pannel_Load(object sender, EventArgs e) { foreach (TabPage p in this.tabControl1.TabPages) { p.Parent = null; } this.tabPage1.Controls.Add(listView1); listView1.GridLines = true; // 打开Grid listView1.View = View.Details; // detail视图 listView1.FullRowSelect = true; // 行全选 listView1.Dock = DockStyle.Fill; // 填充父容器 listView1.BackColor = Color.Azure; // background color }
3.往该ListView控件内写入数据,看最后的实现结果
public void myFun() { listView1.Columns.Add("Num"); listView1.Columns.Add("Result"); for (int i = 0; i < 20; i++) { ListViewItem p = listView1.Items.Add(i.ToString()); p.SubItems.Add("This is test" + i.ToString()); } Thread.Sleep(300); }4.新建一个Button控件调用上面的自定义方法
private void button1_Click(object sender, EventArgs e) { Thread thread1 = new Thread(new ThreadStart(delegate { myFun(); })); thread1.IsBackground = true; thread1.Start(); }
1 0
- 解决C#中ListView数据刷新时界面闪烁的问题
- 刷新ListView刷新时的闪烁问题
- 解决C#中ListView闪烁的办法
- 解决listview更新数据时,屏幕闪烁的问题
- 解决ListView下拉刷新时导致图片闪烁问题
- 解决RedrawWindow()刷新界面出现闪烁的问题, VC对话框界面使用InvalidateRect刷新局部
- vb.net中利用双缓冲绘图技术解决listview加载数据闪烁的问题
- C# 中DataGridView和ListView闪烁问题的解决方法
- listview刷新闪烁性能问题
- ListView刷新,图片闪烁问题
- 关于在RecyclerView中使用UniversalImageLoader加载图片刷新数据时引起的闪烁问题
- Qt 解决界面切换时的闪烁问题
- 解决游戏界面闪烁的问题
- ListView加载实时数据闪烁的问题
- C# WinForm解决Panel控件中的图片刷新时会闪烁的问题
- C#解决动态添加控件时,控件闪烁的问题
- 解决vc界面闪烁问题
- 解决WinForm界面闪烁问题
- struts2多个文件上传
- DBus 的 C 编程接口
- Java线程安全问题与同步锁
- 公众平台商户申请步骤(公众号、扫码、刷卡支付)
- 屏蔽windows应用程序中,windows自带的右键菜单
- 解决C#中ListView数据刷新时界面闪烁的问题
- IP层协议号和TCP层端口号重复情况
- 浅谈协方差矩阵
- Xcode PrefixHeader.pch file not found
- 关于安装.Net Framework 安装失败回滚退出的解决办法
- ASP.NET ZERO 学习 —— (16) 应用开发Demo之删除用户
- ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程
- hibernate基础------>二级缓存的配置文件
- 浅谈.NET中的类型和装箱/拆箱原理