2013-03-26 24 views
7

C#でフォームを1つしか使用しないWindowsフォームアプリケーションを作成しています。私は、アプリケーションを終了して閉じたいとき、私は自動的にVisual Studioのによって作成されたフォームクラスでクラスForm1 : FormにコードC#でWindowsフォームアプリケーションを終了する方法

private void Defeat() 
{ 
    MessageBox.Show("Goodbye"); 
    this.Close(); 
} 

を追加します。

型「System.Runtime.InteropServices.ExternalException」の未処理の例外System.Drawing.dll

で発生しました追加情報:一般的なエラーが発生しましたこのコードが実行されるときしかし、私は、次のメッセージが取得しますGDI +で。

メッセージの画像:

Error message

問題は何ですか?

アプリケーションを終了するにはどうすればよいですか?

答えて

19

まず、メッセージボックスで何をすべきかを知るために文字列を引用する必要があります。次に、アプリケーションコンテキストを終了して終了する必要があります。

private void Defeat() 
{ 
    MessageBox.Show("Goodbye"); 
    Application.Exit(); 
} 
-2
private void btnExit_Click(object sender, EventArgs e) 
{ 
    this.Close(); //”this” refers to the form 
} 
+1

ユーザーがすでにそれをやっています。 – LarsTech

0

アプリケーションを閉じるようにしたい場合は、これを試してください。

DialogResult dialog = new DialogResult(); 

    dialog = MessageBox.Show("Do you want to close?", "Alert!", MessageBoxButtons.YesNo); 

    if (dialog == DialogResult.Yes) 
    { 
     System.Environment.Exit(1); 
    } 
関連する問題