2010-10-07 63 views
3

我有一個應用程序,我需要打開多種形式,這些形式對我來說是異構的,並且可以獨立運行。然後,我的應用程序繼續阻止長時間運行的操作(使這些操作異步是不可能的)。所以我想用自己的消息泵在單獨的線程上運行這些表單。任何方式來做到這一點?如何使用自己的消息泵來運行表單?

回答

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()生成多個表單。

+1

...待命... – 2010-10-07 04:54:30

+0

@Alastair - +1 LOL – 2010-10-07 04:56:38

+0

@Tim:很好的偵探工作! +1 :) – 2010-10-07 05:32:09

相關問題