这要看你的Form1_FormClosing方法是否是继承了窗体的事件,可以选中窗体,在事件查看中,如没有则要选中就可以了.
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)
{
//重写这部分代码
}
经过检测你的代码完全正确。
问题在于你的
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();
这才是添加上了、、
如果有用,欢迎采纳!~
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;
}
}
另外在设计代码中注册关闭事件