VS2010中的BackgroundWorker不在另一个线程中运行

时间:2011-07-31 23:55:57

标签: c++ visual-studio-2010 backgroundworker

我在Visual Studio 2010(c ++)中创建了一个WinForm,与此示例几乎相同: http://msdn.microsoft.com/en-us/library/waw3xexc.aspx

但是当我点击“午餐”背景工作的按钮时,它“卡住”了WinForm, 所以我无法移动它或者在功能运行时点击“停止按钮”。

该函数根据需要运行 - 返回预期结果,并且进度条也可以。 看起来BackgroundWorker在与WinForm相同的线程中运行。

可能是什么问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现了问题。

BackgroundWorker实际上在另一个线程上运行,但是它经常发送更新进度的事件,并且主要表单中的那些事件“午餐”功能 - 更新ProgressBar - 并且这个功能“卡住”了表单