c# winform listView控件快速插入 30

项目用要大量的数据插入listView控件,主要还有别的线程更新同一界面的其他数据,有6个定时器,2个UITime用于更新界面数据,4个用于处理后台数据,插入listVi... 项目用要大量的数据插入listView控件,主要还有别的线程更新同一界面的其他数据,有6个定时器,2个UITime用于更新界面数据,4个用于处理后台数据,插入listView控件的数据量一大,就会很卡,请问有什么好方法或者算法解决这个问题吗?
谢谢!谢谢!
用轻量级的线程怎么样才能定时触发事件,或者是更新数据呢?
展开
 我来答
宣义坊的大蚂蚁
2008-11-18 · TA获得超过2831个赞
知道大有可为答主
回答量:1617
采纳率:90%
帮助的人:919万
展开全部
建议不要使用定时器来搞这个,直接使用轻量级的多线程。
建立五个线程,一个用来更新页面,四个处理后台数据,主线程用作处理界面,这样就可以把你以前写在六个Timer里面的逻辑分拆到六个线程中。不过要注意控制线程的互斥,填充数据时需要为共享给填充UI线程使用的项目加锁。

新建线程并且启动的代码如下,RefreshUi2方法是一个private oid RefreshUi2()里面是更新页面的逻辑:
Thread th1 = new Thread(new ThreadStart(this.RefreshUi2));
th1.Start();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huangf3958
2008-11-18 · 超过47用户采纳过TA的回答
知道答主
回答量:164
采纳率:0%
帮助的人:145万
展开全部
数据最好做缓存,控件插入之前先使用
SuspendLayout暂停
插入完成后
ResumeLayout恢复
看看有没有效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式