博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
刷新ListView刷新时的闪烁问题
阅读量:7296 次
发布时间:2019-06-30

本文共 1067 字,大约阅读时间需要 3 分钟。

LlistView.BeginUpdate();

调用该方法,可以理解为禁止描述控件界面。

然后写入更新ListView数据之后,再调用以下方法!

ListView.EndUpdate();

表示继续描述控件界面。

 

下面代码是我一段更新ListView的代码片段:

///   /// 更新ListView  ///  private void updateLv()  {      lv_task.BeginUpdate();  //停止描述ListView控件界面      lv_task.Items.Clear();  foreach (Model myModel in modelList)      {  string consumingTime = myModel.WebA.CycCount.ToString() == myModel.WebA.CompleteCount.ToString() ? myModel.WebA.ConsumingTime.ToString() : myModel.WebA.ConsumingTimeNow.ToString();          myModel.Item = new ListViewItem(new string[]{myModel.WebA.UrlAddress,                                          myModel.WebA.CycCount.ToString(),                                          myModel.WebA.CompleteCount.ToString(),                                          consumingTime});          lv_task.Items.Add(myModel.Item);      }      lv_task.EndUpdate();    //继续描述ListView控件界面  }

 

此方法可以大量的减少刷新次数,但是还是未彻底解决刷新,暂时还没找到比较好的方法。

我的思路方法比较麻烦,就是对指定修改的数据进行更新,而不是  ListView.Items.Clear() 后再重新载入。

 

参考:

转载于:https://www.cnblogs.com/andrew-blog/archive/2011/12/03/CSharp_ListView.html

你可能感兴趣的文章
offset 与scrollTop 的应用
查看>>
bzoj 1923: [Sdoi2010]外星千足虫
查看>>
安装完CentOS6.4时,ifconfig不显示IPV4的解决方法!
查看>>
Linux中用户、组、权限管理
查看>>
Photoshop绘制植物大战僵尸中的食人花
查看>>
Cocos2d-x 3.2 与 Cocos studio 之间不得不说的神坑
查看>>
React.js VS Vue.js
查看>>
oracle参数文件
查看>>
我的友情链接
查看>>
不断更新中 书签
查看>>
敏捷开发实践总结(四):职责分工
查看>>
struts2文件下载(文件保存以BLOB类型在数据库中)
查看>>
ASP.NET 防止同一用户同时登陆
查看>>
本地连接的显示与隐藏
查看>>
通过SMTP中继服务器发送邮件的问题
查看>>
brasero
查看>>
Windows Server 2012部署WSUS
查看>>
System Center 2012 SP1系列之SCCM篇-(1)准备安装
查看>>
CentOS 7 x64安装ownCloud9.0.3
查看>>
我的友情链接
查看>>