2

如何在我的应用程序中制作(默认)关闭按钮(在右上角),将其用作Minimize。实际上,我想在单击交叉符号时最小化应用程序,但在使用单击我的菜单选项时退出应用程序Exit

我编写了这段代码来最小化单击关闭按钮时的表单:

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();
    }

但是现在,当我单击退出菜单选项时,表单也被最小化,而不是退出。

有人可以帮忙吗?

4

2 回答 2

3

试试这个

编辑 可以使用Resize事件来做到这一点,

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; 
 } 
}
于 2013-03-17T09:12:19.597 回答
2

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

从文档中CloseReason

成员

...

用户关闭

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

...

应用程序退出调用

调用了 Application 类的 Exit 方法。

于 2013-03-17T09:09:37.167 回答