我有一个小的winform应用程序,我在第一个运行表单上放了一个进度条。此进度条在10秒内完成,在进度条完成后,下一个活动将像数据库调用一样启动。
我希望当这个进度条运行10秒钟时,在此期间数据库调用应该完成其工作而不是在进度条完成后调用。
任何人都可以解释或有示例代码来解释这种技术??? 提前谢谢。
答案 0 :(得分:3)
您的问题可能源于您正在运行用户界面线程上的繁重工作,因此基本上您持有该线程不做任何事情。
要解决此问题,您需要在需要更新时在单独的线程和Control.Invoke
进度条控件上运行。
在VS Magazine上查看Threading and the UI。
答案 1 :(得分:1)
您需要使用后台工作人员!
在后台工作线程和UI线程中执行繁重的操作会使进度条保持运行。
你应该找到很多关于后台工作者使用的例子,其中一些是:
答案 2 :(得分:0)
有许多好的多线程教程可以详细解释这个问题。谷歌搜索“winforms线程同步”this是第一个出现的。非常好。