我有一个 MessageBox 附加到我的表单的关闭事件,检查用户是否想要关闭表单。
触发事件时,应显示 MessageBox,要求用户选择“是”或“否”。相反,MessageBox 行运行但不显示,DialogResult 自动设置为“否”,无需用户交互。
我尝试事先主动将 DialogResult 设置为“是”,但它仍然设置为“否”,没有用户交互,即使 MessageBoxDefaultButton 设置为“是”(Button1)。
任何人都可以确定可能导致 MessageBox 被跳过的原因吗?
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
closeForm(e);
}
private void closeForm(FormClosingEventArgs e)
{
DialogResult exityesno = MessageBox.Show("Are you sure you want to exit?", "Close", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
if (exityesno == DialogResult.Yes)
{
// close form
}
else if (exityesno == DialogResult.No)
{
e.Cancel = true;
}
}