2010-12-02 58 views
0

問題是我不想使用Threading.Sleep(1000),因爲我需要線程保持活動狀態,只需暫停執行下一行代碼,同時禁止用戶在暫停期間單擊表單上的任何內容。我能想到的最簡單的方法是打開一個不透明度爲0的定時自閉合對話框。獲得相同結果的更好方法是什麼?在dotnet窗體窗體中,如何暫停表單而不將表單的線程休眠?

+0

我看到你有一個多線程標籤。你是否試圖讓表單等待線程在後臺完成運行?如果是這樣,我建議你看看BackgroundWorker類。您可以將處理程序添加到ProgressChanged和OnRunWorkerCompleted事件中,您可以在啓動時將啓用設置爲false,並在完成時再次設置爲true。儘管如此,需要一點點才能做到。可能最好與阿爾賓的答案一起去。 http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx – seekerOfKnowledge 2010-12-02 06:18:31

回答

0

將Enabled設置爲false,然後稍後將其設置爲true。您可以在單獨的線程上執行此操作。還要考慮將光標更改爲等待光標。

0

有幾種方法:

  • 禁用整個表單,做你的處理並再次啓用它。 (使用Form.Enabled屬性。)

  • 顯示一個沒有選項的模式對話框關閉它或使用類似'加載'或'處理'的消息移動它(完全鎖定),做好你的事情並關閉它。

相關問題