我有一個模式對話框,只有當用戶單擊按鈕時彈出一個取消按鈕。 Aftre模式對話框彈出後,我想開始一個監視外部事件的漫長過程。如果事件發生,那麼對話框將自動關閉。用戶可以通過點擊取消按鈕取消監控過程。在模態對話框彈出後啓動長進程
我分配過程開始到顯示的事件
private void ProceedForm_Shown(object sender, System.EventArgs e)
{
controller.StartSwiping();
}
的過程本身就是一個循環
public void StartSwiping()
{
Status status;
do
{
status = CallForFeedback();
} while (status == Status.Pending);
form.DialogResult = DialogResult.OK;
form.Close();
}
過程開始罰款,但該對話框不會彈出,這樣用戶就可以不取消該過程。我也嘗試將啓動分配給Load事件,但沒有任何更改。 有什麼方法可以顯示對話框,然後啓動該過程?
謝謝
對長時間運行的任務使用BackgroundWorker。 – LarsTech 2012-07-25 14:48:58