当用户点击窗体关闭按钮时,隐藏窗体最小化托盘,代码如下:
private void TransForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
this.WindowState = FormWindowState.Minimized;
e.Cancel = true;
this.Hide();
this.ShowInTaskbar = false;
}
}
问题是:这样处理后,程序无论用this.close() 还是Application.Exit();都无法关闭.
解决方案是:在关闭窗口事件中判断关闭原因/来源(e.CloseReason)如果点击了窗口右上角的关闭按钮,则来源于CloseReason.UserClosing即可。