2013-03-01 48 views
2

我想实现背景工人进入我的程序,以便它不会冻结当我运行该程序并开始检索我需要的数据。背景工人如何

我不太清楚背景工作者是如何工作的。

+0

在MSDN http://msdn.microsoft.com/en-us//library/system.componentmodel.backgroundworker%28v=vs.95%29.aspx你有一个很好的例子和解释它是如何工作的。 – 2013-03-01 02:07:11

回答

4

后台工作人员是在后台运行并在不中断/阻止主线程的情况下工作的线程。

您可以阅读更多here

快速条款:

在DoWork中执行您的阻止操作。无论何时,您都可以报告使用(sender as BackgroundWorker).ReportProgress(50);进行的操作,例如报告50%的完成情况。

您可以让主线程订阅“ProgressChanged”事件,该事件可以更新GUI或执行进度更改时应发生的其他任务。

+0

林不知道落实到我的代码 私人无效fNameBrowser(字符串FNAME,串DIR)本节 { } – user2118473 2013-03-01 02:41:40

+0

我绝对没有办法知道你的代码是如何工作的,除非你发布一些 – 2013-03-01 02:45:09

+0

发布!我的应用程序是文件浏览器。一旦进入目录,它需要后台工作人员继续更新,而不是冻结。 – user2118473 2013-03-01 02:52:58