3
我有一個應用程序,我需要打開多種形式,這些形式對我來說是異構的,並且可以獨立運行。然後,我的應用程序繼續阻止長時間運行的操作(使這些操作異步是不可能的)。所以我想用自己的消息泵在單獨的線程上運行這些表單。任何方式來做到這一點?如何使用自己的消息泵來運行表單?
我有一個應用程序,我需要打開多種形式,這些形式對我來說是異構的,並且可以獨立運行。然後,我的應用程序繼續阻止長時間運行的操作(使這些操作異步是不可能的)。所以我想用自己的消息泵在單獨的線程上運行這些表單。任何方式來做到這一點?如何使用自己的消息泵來運行表單?
Application.Run();
這應該在自己的線程上啓動窗體,並帶有自己的消息泵。
因爲每當Application.Run調用創建一個新的UI線程,這應該做到你在找什麼。
編輯#2:http://msdn.microsoft.com/en-us/library/system.windows.forms.application.run(VS.71).aspx
的文檔是有點曖昧。我總是通過使用ThreadPool來完成長時間運行的操作,並定期將控件重新封裝回表單以呈現狀態,但聽起來您可以使用Application.Run()生成多個表單。
...待命... – 2010-10-07 04:54:30
@Alastair - +1 LOL – 2010-10-07 04:56:38
@Tim:很好的偵探工作! +1 :) – 2010-10-07 05:32:09