2012-09-14 17 views
6

私はアプリケーションを閉じる前にこのコードを質問に使用していますが、正しく動作していません。
私のコードは以下の通りです。あなたが閉会の要求がトリガされたことを意味しFormClosingイベントであるため、明示的にApplication.Exit()を呼び出す必要はありませんフォーム終了時のMessageBox

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    DialogResult dlgresult = MessageBox.Show("Exit or no?", 
           "My First Application", 
           MessageBoxButtons.YesNo, 
           MessageBoxIcon.Information); 
    if (dlgresult == DialogResult.No) 
    { 
     e.Cancel = true; 

    } 
    else 
    { 
    Application.Exit(); 
    } 
} 
+1

どのようなエラーが発生しますか? –

+0

返信していない場合は、もう一度質問をして、等しく閉じます – Federal09

答えて

15

(例えば。フォームボタン、this.Close()でクロスをクリックしてください)。終了要求を傍受して指示するだけですe.Cancel = true;

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if(MessageBox.Show("Exit or no?", 
         "My First Application", 
         MessageBoxButtons.YesNo, 
         MessageBoxIcon.Information) == DialogResult.No) { 
     e.Cancel = true; 
    } 
} 
+0

ありがとう=) – Federal09

関連する問題