如何防止表单关闭并显示确认对话框
本文关键字:显示 确认 对话框 何防止 表单 | 更新日期: 2023-09-27 18:37:28
我希望当用户关闭窗口时,会出现一个消息框,询问用户是否确定要关闭窗口。但是当我尝试时,窗口只是关闭,并且永远不会向我显示消息框。
private void SchetsWin_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
MessageBox.Show("Example");
}
}
无需为窗体本身连接事件,只需重写 OnFormClosing 方法即可。 至于显示确认消息以确认它,只需检查消息框的对话框结果的值:
protected override void OnFormClosing(FormClosingEventArgs e) {
if (e.CloseReason == CloseReason.UserClosing) {
if (MessageBox.Show("Do you want to close?",
"Confirm",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.No) {
e.Cancel = true;
}
}
base.OnFormClosing(e);
}
不过要小心这样的功能——它往往会惹恼最终用户。
protected override void OnFormClosesing(FormClosesingEventArgs e)
{ if (MessageBox.Show("Are you sure you want to Close?","Confirm",MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.No) { e.Cancel = true; } }