VS2010 中的后台工作者无法在另一个线程中运行

BackgroundWorker in VS2010 doesn't run in another thread

本文关键字:另一个 运行 线程 后台 工作者 VS2010      更新时间:2023-10-16

我在Visual Studio 2010 (c++)中创建了一个WinForm,几乎和这个例子一样:http://msdn.microsoft.com/en-us/library/waw3xexc.aspx

但是当我点击按钮,"午餐"BackgroundWorker它"卡住"的WinForm,所以我不能移动它,也不能在函数运行时点击"停止按钮"。

函数按预期运行——它返回预期的结果,并且进度条也正常。似乎BackgroundWorker运行在与WinForm相同的线程中。

可能是什么问题?

谢谢!

我找到问题了。

BackgroundWorker实际上运行在另一个线程上,但它发送的事件更新进度太频繁,这些事件的"午餐"功能在主表单-更新ProgressBar -和这个函数"卡住"的形式。

相关文章: