在MSDN中我发现CloseReason.UserClosing用户已经决定关闭表单,但我想单击X按钮或单击关闭按钮是相同的.那么如何在我的代码中区分这两者呢?
谢谢大家.
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (MessageBox.Show(this, "Do you really want to close?", "Close?",
MessageBoxButtons.YesNo) == DialogResult.No)
{
e.Cancel = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我想关闭应用程序时,单击关闭按钮,消息框会按其应有的方式显示,然后我选择了“否”。然后执行 e.Cancel = true 行并且表单未关闭。
现在的问题是,在此之后,如果我从任务管理器关闭应用程序,关闭原因是 UserClosing !为什么?不应该是TaskManagerClosing吗?