吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2003|回复: 47
收起左侧

[求助] C# winForm 中,界面不得已,每时每刻都在实时更新UI,这时用户对其他控件的操作很难

[复制链接]
getstr88 发表于 2022-6-28 16:58
在新线程中处理一批图片,在主界面label中实时显示当前处理了多少个,新线程中每处理一个,invoke主线程去更新label显示

但遇到了这样的问题: 因为处理每个图片都很快,主界面就一直修改label显示进行更新。然后表现为,如果用户点击其他按钮,会发现点击动画都还在,并不卡。但是响应不了,得非常非常快的点,点好多次,才能偶尔碰上不更新label时,能响应

这个问题有办法解决么?还是winForm只能这样子。在他频繁刷新界面时,就是没法响应用户自己操作了?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zohoChou 发表于 2022-6-28 17:05
多线程?或者弄两个窗口但显示时看着像一个(doge
popdes 发表于 2022-6-28 17:27
本帖最后由 popdes 于 2022-6-28 17:29 编辑

C#下的防抖函数-Debounce, 节流函数-throttle
 楼主| getstr88 发表于 2022-6-28 17:29
本帖最后由 getstr88 于 2022-6-28 17:34 编辑
popdes 发表于 2022-6-28 17:27
C#下的防抖函数-Debounce

不不,不能改变只要有1次变化,就要刷新界面显示一次的前提。不能合并成比如处理10张,再改一次UI。

并且就算改为1000张才刷新一次UI,也可能正好碰上代码要刷新界面时,导致用户点击失效把
 楼主| getstr88 发表于 2022-6-28 17:30
zohoChou 发表于 2022-6-28 17:05
多线程?或者弄两个窗口但显示时看着像一个(doge

UI只会在UI主线程更新,再多线程有啥用
popdes 发表于 2022-6-28 17:34
getstr88 发表于 2022-6-28 17:29
有这个东西么?搜了下是js的?

感觉你这个不是防抖(防多次触发), 应该是节流(降低频率)
你这个一直疯狂刷新会导致防抖一直执行不了刷新, 所以应该是节流
百度上都是自己实现原理 ,  可以复制.
 楼主| getstr88 发表于 2022-6-28 17:35
popdes 发表于 2022-6-28 17:34
感觉你这个不是防抖(防多次触发), 应该是节流(降低频率)
你这个一直疯狂刷新会导致防抖一直执行不了刷新 ...

要求必须实时显示的呢。不能减少刷新UI的频率
popdes 发表于 2022-6-28 17:38
本帖最后由 popdes 于 2022-6-28 17:41 编辑
getstr88 发表于 2022-6-28 17:35
要求必须实时显示的呢。不能减少刷新UI的频率

刷的快你肉眼也看不清啊?
很多界面上实时刷新都是降频, 降频不代表值不是最新, 你每次暂停还是最新那个值,
节流: 就是规定时间内只执行最后一次给的值

一般操作是:
开个定时器, 比如50ms刷一次值.
你处理图片线程里用变量来计数处理了几个了., 然后定时器到时间取一次值...
 楼主| getstr88 发表于 2022-6-28 17:41
本帖最后由 getstr88 于 2022-6-28 17:43 编辑
popdes 发表于 2022-6-28 17:38
刷的快你肉眼也看不清啊?
很多界面上实时刷新都是降频, 降频不代表值不是最新, 你每次暂停还是最新那个 ...

我试了下,看的清楚。数字从1一直增长上去,可以看清每个数字变动。其实也不算快。但是因为界面刷新还算快。此时,想点到其他按钮什么的,就很难了

我理解兄弟说的降频,就是一定时间内省去中间几次结果的显示。但是,甲方不同意的。合同上写的很清楚,必须每次进度变动都实时显示
popdes 发表于 2022-6-28 17:43
本帖最后由 popdes 于 2022-6-28 17:44 编辑
getstr88 发表于 2022-6-28 17:41
我试了下,看的清楚。数字从1一直增长上去,可以看清每个数字变动。其实也不算快。但是因为界面刷新还算 ...

一般操作是:
开始执行->然后
开个定时器, 比如50ms刷一次值.
你处理图片线程里用变量来计数处理了几个了., 然后定时器到时间取一次值...

感觉你做的东西估计用labview应该更好, 这个貌似是并行实时系统
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 09:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表