gpt4 book ai didi

BackgroundWorker 线程 : updating UI and aborting operation

转载 作者:行者123 更新时间:2023-12-04 07:22:52 27 4
gpt4 key购买 nike

我在后台工作线程上运行了一系列耗时的操作。在各个阶段,我通过调用委托(delegate)来更新(Windows 窗体)进度条。但是,更多时间操作之一发生在单行代码上。

是否有可能 :

a) 在执行该单行代码时更新 UI,或者至少显示一个动画图标,向用户显示工作正在完成。

b) 让用户在执行该单行代码时取消后台工作线程

最佳答案

不幸的是,可能不是。后台工作线程需要调用 ReportProgress 来更新 UI 线程,并且需要观察 CancellationPending 来知道它是否应该停止。因此,如果您的工作线程在单行中运行沿运行操作,则无法使其工作。

也许,我误解了,所以这是模拟我所得到的代码:

public void DoWork() {
System.Threading.Thread.Sleep(10000);

// won't execute until the sleep is over
bgWorker.ReportProgress(100);
}

关于BackgroundWorker 线程 : updating UI and aborting operation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/282363/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com