簡體   English   中英

Windows窗體運行帶有對話框(窗體)的新線程,並且主線程擁有該對話框

[英]Windows Form runs new thread with dialog box (form) and main thread owns the dialog box

我有一個用C#編寫的Windows應用程序。 當應用啟動時,它將創建新線程以在主線程空閑時運行某些后台進程。 后台線程將顯示一個對話框。 我發現如果單擊主UI,該對話框將被隱藏。

問題是如何使對話框由主UI擁有? 我知道將TopMost屬性設置為true將使對話框停留在屏幕頂部,但是我不希望這樣做。

請幫忙。

您應該觸發主線程上的所有UI更改。 讓后台進程將結果返回到主UI線程,然后從那里觸發對話框。 異步/等待非常適合諸如此類的任務。

這是一個簡單的示例,它異步執行某些操作,然后使用返回的結果設置UI元素... 在Task.Access中訪問UI控件,在WinForms上使用async / await運行

暫無
暫無

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

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