首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在winform进度条运行期间执行代码

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

Stack Overflow用户
提问于 2014-04-25 12:48:25
回答 3查看 1.2K关注 0票数 1

我有一个小的winform应用程序,我在第一个运行的窗体上放了一个进度条。此进度条在10秒内完成,在进度条完成后,下一个活动开始,如数据库调用。

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

有没有人可以解释或者有示例代码来解释这种技术?提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-04-25 13:05:06

你的问题可能是因为你正在用户界面线程上运行繁重的工作,所以基本上你是在阻止这个线程做任何事情。

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

在VS杂志上查看Threading and the UI

票数 3
EN

Stack Overflow用户

发布于 2014-04-25 14:41:21

你需要使用后台工作者!

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

你可以找到很多关于后台工作者用法的例子,有些在这里:

http://www.dotnetperls.com/backgroundworker

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

票数 1
EN

Stack Overflow用户

发布于 2014-04-25 13:07:57

有很多很好的多线程教程详细地解释了这个问题。谷歌搜索"winforms sync“this是第一个出现的。相当不错。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23284393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档