关于c#编程中关闭窗体不出现提示的问题

2024-12-30 00:44:46
推荐回答(4个)
回答1:

这要看你的Form1_FormClosing方法是否是继承了窗体的事件,可以选中窗体,在事件查看中,如没有则要选中就可以了.

回答2:

protected override void OnFormClosing(FormClosingEventArgs e)
{
if (MessageBox.Show("是否关闭窗体", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
base.OnFormClosing(e);
}
else
{
e.Cancel = true;
}

}
是重写关闭窗体的方法,而不是写在该窗体上写那个窗体关闭时的事件内
protected override void OnFormClosing(FormClosingEventArgs e)
{
//重写这部分代码
}

回答3:

经过检测你的代码完全正确。

问题在于你的
Form1_FormClosing函数没绑定给FormCloseing这个事件!!
查看Event 列表~添加上

Form1.Designer.cs这里面要有:

this.Name = "Form1";
this.Text = "Form1";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
this.ResumeLayout(false);
this.PerformLayout();

这才是添加上了、、

如果有用,欢迎采纳!~

回答4:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
DialogResult result = MessageBox.Show("确定退出系统吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (result == DialogResult.Cancel)
{
e.Cancel = true;
return;
}
}

另外在设计代码中注册关闭事件