17

1つのフォームのみを使用するC#でWindowsフォームアプリケーションを作成しています。アプリケーションを終了して閉じたい場合は、コードを追加します

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

Form1 : FormVisualStudioによって自動的に作成されたフォームクラスであるクラスに。しかし、このコードを実行すると、次のメッセージが表示されます。

System.Drawing.dllで「System.Runtime.InteropServices.ExternalException」タイプの未処理の例外が発生しました

追加情報:GDI+で一般的なエラーが発生しました。

メッセージの写真:

エラーメッセージ

何が問題ですか?

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

4

3 に答える 3

32

メッセージボックスに何をすべきかがわかるように、最初に文字列を引用符で囲む必要があります。次に、アプリケーションコンテキストに終了するように指示して、アプリケーションを終了する必要があります。

private void Defeat()
{
    MessageBox.Show("Goodbye");
    Application.Exit();
}
于 2013-03-26T23:04:02.717 に答える
12

アプリケーションを閉じたい場合は、次のことを試してください。

    DialogResult dialog = new DialogResult();

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

    if (dialog == DialogResult.Yes)
    {
        System.Environment.Exit(1);
    }
于 2017-08-24T08:27:17.843 に答える
-2
private void btnExit_Click(object sender, EventArgs e)
{
  this.Close();  //”this” refers to the form
}
于 2016-11-30T22:52:12.293 に答える