winform中实时监控100条动态数据并用100个label显示

妖气当然你 2021-04-22 06:29:06
数据几条用线程中的invoke或task还行,多个UI更新页面还会出现假死状态的,求各位大佬解答
...全文
742 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
妖气当然你 2021-04-23
  • 打赏
  • 举报
回复
日志数据更新是写在Timer里面 问题:datagrid会根据interval闪烁 数据更新如下: ArrayList ary =IRC5.Geteventlog_infro(); for (int i = 0; i < ary.Count; i++) { string newstring = ary[i].ToString(); string[] strs = newstring.Split('{'); dGV_messagelog.Rows.Add(strs[0], strs[1], strs[2]); }
妖气当然你 2021-04-23
  • 打赏
  • 举报
回复
今天早上把UI界面更新的方法都更新了一下,数据绑定部分需要绑定数据表,等我解决datagridview实时刷新会闪的问题再补充上,测试中多个UI是没问题的,待我把他放到项目中试一下,因为有个项目一旦更新与chart有关的数据,实时chart曲线会出现卡顿 总结:还是要控制Thread.Sleep(time);
six2me 2021-04-23
  • 打赏
  • 举报
回复
如果是数字量,100个没有必要刷新太快,1s中刷新一次足够了,太快了看都看不到。要符合使用习惯才行,用定时刷新足够了。 如果必须要求特定信号的响应时间,如状态量,可以考虑在数据接收到变位的时候,弹出对话框或者在特定位置显示变化信息,如列表增加告警信息即可。
Mr Dang 2021-04-23
  • 打赏
  • 举报
回复
没必要刷新这么快把,只是显示而已,500ms/1s刷新一次即可,可以把这些数据用ConcurrentDictionary.AddOrUpdate缓存,然后再定时刷,还可以在后台判断一下新数据是否等于旧数据,不等于才刷新,降低刷新频率。
wanghui0380 2021-04-23
  • 打赏
  • 举报
回复
先说极端点,1秒钟刷新1w遍对于俺们人类来说并没有必要。 所以哪怕你在号称及时信息,正常的处理方式,你可用1秒钟入1w次库保证原始数据无误,但是在显示上缓存1秒钟的最后一次数据,然后一次刷新就好
glb21 2021-04-23
  • 打赏
  • 举报
回复
用wpf里的数据绑定,winform也支持
妖气当然你 2021-04-23
  • 打赏
  • 举报
回复
引用 4 楼 LiveShare_Mr_Dang 的回复:
没必要刷新这么快把,只是显示而已,500ms/1s刷新一次即可,可以把这些数据用ConcurrentDictionary.AddOrUpdate缓存,然后再定时刷,还可以在后台判断一下新数据是否等于旧数据,不等于才刷新,降低刷新频率。
ConcurrentDictionary刚了解了一下,是个好方法
泡泡龙 2021-04-22
  • 打赏
  • 举报
回复
要不,你用同步上下文吧

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧