如何在我的应用程序中创建(默认)关闭按钮(位于右上角),将其作为最小化。 实际上,我希望在点击交叉符号时最小化应用程序,但在我的菜单选项退出上使用点击时退出应用程序。
我编写了这段代码,用于在点击关闭按钮时最小化表单:
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();
}
但现在,当我点击退出菜单选项时,表单也会被最小化,而不会退出。
有人可以帮忙吗?
答案 0 :(得分:2)
在决定最小化窗口之前,检查FormClosingEventArgs.CloseReason
是否等于CloseReason.UserClosing
。或者,比较CloseReason.ApplicationExitCall
。
来自CloseReason
的文档:
成员
...
UserClosing
用户通过用户界面(UI)关闭表单,例如单击表单窗口上的“关闭”按钮,从窗口的控制菜单中选择“关闭”,或按ALT + F4。
...
ApplicationExitCall
调用了Application类的Exit方法。
答案 1 :(得分:1)
试试这个
修改强>
可以使用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;
}
}