2010-10-13 94 views
0

我有一個winform應用程序,可以捕獲任何數量的可能的錯誤。但我發現,一旦顯示錯誤的消息框或其他方法(在catch塊內),程序就會繼續執行。c# - 停止程序執行的錯誤

我該如何簡單地停止在這個事件中完成程序的執行,並且只是保持表單打開?它只是一個形式的應用程序。

+1

您想停止應用程序並保持窗體打開?兩者都不可能。 – smirkingman 2010-10-13 12:45:21

+0

出現錯誤時必須停止進程,從而允許用戶糾正? – 2010-10-13 13:06:21

回答

1

顯示該消息框後,簡單的通話Application.Exit();

這就夠了,只要你沒有背景中的任何其他正在運行的線程,但在你的情況看來,這只是一個簡單的單線程應用程序

+1

我認爲停止他意味着暫停/暫停,而不是終止。 – CodesInChaos 2010-10-13 12:44:51

+0

這不起作用?它仍然顯示消息框,但是應用程序繼續?任何想法爲什麼?它只是一個單線程的應用程序。 – 2010-10-13 12:48:15

+0

所有這些都發生在構造函數內嗎?表單的構造函數中的try/catch,messagebox和處理是什麼? – 2010-10-13 12:50:32

0

您可能希望將模態對話框的所有者窗口設置爲您的窗體。這種方式執行不會暫停,但表單已停用。

0

假設你有這樣的事情:

Private Sub Button1_OnCLick(....) handles button1.onclick 
    If somecondition then 
    MsgBox("it failed") 
    End if 
    'more code here 

,並要避免執行「更多的代碼」時,消息框已經顯示出,再加入

退出小組

剛過MsgBox行

0
DialogResult result = MessageBox.Show("There was an error, would you like to continue?", "Error", 
MessageBoxButtons.YesNo, MessageBoxIcon.Question); 

if (result == DialogResult.No) 
{ 
    // Terminate 
}