17

我正在用 C# 编写一个仅使用一种表单的 Windows 窗体应用程序。当我想退出并关闭应用程序时,我添加了代码

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

到 class Form1 : Form,这是 Visual Studio 自动创建的表单类。但是当这段代码运行时,我收到以下消息:

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 回答