gpt4 book ai didi

c# - 如何在 Windows 窗体应用程序中使用多线程来更新进度条?

转载 作者:行者123 更新时间:2023-11-30 21:21:44 27 4
gpt4 key购买 nike

有两个对象。带有按钮和进度条的 Windows 窗体,以及另一个处理算法的对象。

在算法对象中有一个事件和一个属性。事件是 ProgressChanged,属性是 Progress(它是一个 int)。

在调用窗口中,按钮启动算法对象中的一组步骤。当每个步骤(或子步骤)发生时,都会触发 ProgressChanged 事件,并且在窗口中有一个事件处理程序,它实质上是相对于 Progress 属性递增进度条。

我遇到的问题是因为该算法有可能(并且很可能)运行相对较长的时间,所以我需要将它移到它自己的后台线程中并将事件推回窗口。

我的问题是,当涉及到多线程时,我并不完全确定自己在做什么。我查看了 Control.Invoke,我有点迷路了。

有人能指出我正确的方向吗?

最佳答案

使用后台 worker 。它有一个 ReportProgress 方法 + 事件,让您运行进度条而无需担心调用。

关于c# - 如何在 Windows 窗体应用程序中使用多线程来更新进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2596039/

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