如何使用自己的消息泵运行表单?

时间:2010-10-07 04:50:26

标签: c# windows winforms message-pump

我有一个应用程序,我需要打开许多异形的表单并独立运行。然后我的应用程序继续阻止长时间运行的操作(使这些操作不可能异步)。所以我想用自己的消息泵在一个单独的线程上运行这些表单。

有什么办法吗?

1 个答案:

答案 0 :(得分:3)

Application.Run();

这应该在自己的线程上启动表单,并使用自己的消息泵。

编辑:http://en.csharp-online.net/Application_Architecture_in_Windows_Forms_2.0%E2%80%94Application_Lifetime

由于每次调用Application.Run时都会创建一个新的UI线程,因此这应该可以完成您要查找的内容。

编辑#2:http://msdn.microsoft.com/en-us/library/system.windows.forms.application.run(VS.71).aspx

文档有点含糊不清。我总是通过使用ThreadPool完成长时间运行操作,并定期将控件回调到表单以呈现状态,但听起来你可以使用Application.Run()生成多个表单。

相关问题