我有以下代码:
private void form1_closing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.Hide();
}
我想要一个关闭表单的按钮,而不会触发此事件。我该怎么做?
按钮的代码:
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
我希望上面的按钮关闭表单而不是隐藏它。
答案 0 :(得分:4)
//unsubscribe the mean "don't let me close" handler
this.FormClosing -= form1_closing;
//close form
this.Close();
另一个选择是创建一个布尔字段“shouldIReallyClose”。将其默认为false。当你真的要关闭表单时,将其设置为true。更改事件处理程序以在取消事件之前检查该布尔值。
答案 1 :(得分:1)
protected override void OnFormClosing(FormClosingEventArgs e)
{
if(!boolTrackingButtonPressed)
{
base.OnFormClosing(e);
}
}