在winform进度条运行期间执行代码

本文关键字:执行 代码 运行期 winform | 更新日期: 2023-09-27 18:00:06

我有一个小的winform应用程序,我在第一个运行的表单上放了一个进度条。这个进度条在10秒内完成,进度条完成后,下一个活动开始,就像数据库调用一样。

我希望当这个进度条运行10秒时,在此期间数据库调用应该完成它的工作,而不是在进度条完成后调用。

有人能解释或有示例代码来解释这种技术吗???提前谢谢。

在winform进度条运行期间执行代码

您的问题可能是因为您正在用户界面线程上运行繁重的工作,所以基本上您是在阻止该线程执行任何操作。

若要解决此问题,您需要在单独的线程上运行,并在需要更新时在进度条控件Control.Invoke上运行。

查看VS Magazine上的线程和UI。

您需要使用后台工作者!

在后台工作线程和UI线程中执行繁重的操作,保持进度条运行。

你应该能找到很多关于后台工作人员使用的例子,其中一些在这里:

http://www.dotnetperls.com/backgroundworker

https://stackoverflow.com/a/15153258/2243584

有很多好的多线程教程可以详细解释这个问题。在谷歌上搜索"winforms线程同步"这是第一个出现的。还不错。