2010-02-19 19 views
0

使用控制檯應用程序時,Console.Readline會從主線程放棄對UI的處理,並且只有在觸發按下Enter按鈕等事件時纔會繼續處理。如何在Windows窗體應用程序中複製此功能(在這種情況下以Window窗體作爲UI)?在UI上繼續處理時等待Mainthread

+0

也許我沒有解釋這個權利。我想要做的是創建一個服務,監聽連接,一旦獲得連接,我將這些信息顯示在Windows窗體上,然後等待用戶將響應發送回客戶端,然後使用相同的響應連接。 – Kobojunkie 2010-02-20 17:18:15

回答

2

你不能直接這樣做。

但是,您可以通過撥打Invoke來完成,如我所述here

1

使用form.ShowDialog()而不是form.Show()

這不會停止線程,但它會從直到窗口被關閉在UI做其他事情停止用戶。

0

現在你已經解釋你想做的事......

這將是更好地使用BackgroundWorker,保持GUI活躍,但禁用,呈現出進度條+取消按鈕,直到完成。