C# 如何使关闭按钮像最小化一样工作:C Winforms

C# 如何使关闭按钮像最小化一样工作:C Winforms,c#,.net,winforms,C#,.net,Winforms,如何在应用程序的右上角设置默认的关闭按钮,以使其最小化。 实际上,我想在单击十字符号时最小化应用程序,但在使用“单击我的菜单”选项“退出”时退出应用程序 我编写了以下代码,用于在单击“关闭”按钮时最小化表单: private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (minimize_on_close == "Yes") { e.Cance

如何在应用程序的右上角设置默认的关闭按钮,以使其最小化。 实际上,我想在单击十字符号时最小化应用程序,但在使用“单击我的菜单”选项“退出”时退出应用程序

我编写了以下代码,用于在单击“关闭”按钮时最小化表单:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (minimize_on_close == "Yes")
        {
            e.Cancel = true;
            this.WindowState = FormWindowState.Minimized;
        }
    }
并编写了退出应用程序的代码,单击“退出菜单选项”

private void exitToolStripMenuItem1_Click(object sender, EventArgs e)
    {
        Application.Exit();
    }
但现在,当我点击退出菜单选项时,表单也被最小化,而不是退出

有人可以帮忙吗?

在决定最小化窗口之前,请检查是否等于CloseReason.UserClosing。或者,比较CloseReason.ApplicationExitCall

从以下文件中:

成员

用户关闭 用户通过用户界面UI关闭表单,例如单击表单窗口上的关闭按钮,从窗口的控制菜单中选择关闭,或按ALT+F4

应用程序退出调用 调用了应用程序类的Exit方法

在决定最小化窗口之前,请检查是否等于CloseReason.UserClosing。或者,比较CloseReason.ApplicationExitCall

从以下文件中:

成员

用户关闭 用户通过用户界面UI关闭表单,例如单击表单窗口上的关闭按钮,从窗口的控制菜单中选择关闭,或按ALT+F4

应用程序退出调用 调用了应用程序类的Exit方法

试试这个

编辑 可以使用调整大小事件来执行此操作

private void Form1_Resize(object sender, EventArgs e) 
  { 
  if (this.WindowState == FormWindowState.Minimized) 
  this.Hide(); 
  }
然后使用FormClosing事件取消关闭并最小化表单,如下所示

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
if (e.CloseReason == CloseReason.UserClosing) 
 { 
  e.Cancel = true; 
  this.WindowState = FormWindowState.Minimized; 
 } 
}
试试这个

编辑 可以使用调整大小事件来执行此操作

private void Form1_Resize(object sender, EventArgs e) 
  { 
  if (this.WindowState == FormWindowState.Minimized) 
  this.Hide(); 
  }
然后使用FormClosing事件取消关闭并最小化表单,如下所示

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
if (e.CloseReason == CloseReason.UserClosing) 
 { 
  e.Cancel = true; 
  this.WindowState = FormWindowState.Minimized; 
 } 
}

在Dispose方法中最小化窗体是没有意义的。只检查窗体。WindowsState在Dispose方法中最小化窗体是没有意义的。只检查窗体。WindowsState请,哦,请不要像这样使用字符串文本-最小化\u on\u close==是。我应该使用什么?请不要在关闭按钮上最小化。我想杀死任何使用它的应用程序,我想知道当我点击它时它会做什么。它是否是一个始终在托盘上的应用程序并不重要。我不想去搜索退出/退出选项。如果关闭按钮没有达到我的预期效果,请不要显示它。@user1547766:在这种情况下,bool应该足够好了。有关更多选项,请使用枚举或常量。请,哦,请不要像这样使用字符串文字-最小化\u on\u close==是我应该使用什么?请不要在“关闭”按钮上最小化。我想杀死任何使用它的应用程序,我想知道当我点击它时它会做什么。它是否是一个始终在托盘上的应用程序并不重要。我不想去搜索退出/退出选项。如果关闭按钮没有达到我的预期效果,请不要显示它。@user1547766:在这种情况下,bool应该足够好了。有关更多选项,请使用枚举或常量。