簡體   English   中英

如何使用自己的消息泵運行表單?

[英]How to run a form with its own message pump?

我有一個應用程序,我需要打開許多 forms,它們與我自己的不同並獨立運行。 然后我的應用程序繼續阻止長時間運行的操作(使這些操作異步是不可能的)。 所以我想用它們自己的消息泵在單獨的線程上運行這些 forms。

有什么辦法嗎?

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

使用重載 Application.Run(ApplicationContext)。 之前創建一個 ApplicationContext,給它表單 (context.MainForm=yourForm)。 當窗體關閉或以其他方式完成時,調用 ApplicationContext.ExitThread()。 快樂的編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM