3

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

有什么办法吗?

4

1 回答 1

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() 生成多个表单。

于 2010-10-07T04:53:13.977 回答