1

我有以下代码:

private void form1_closing(object sender, FormClosingEventArgs e)
{
    e.Cancel = true;
    this.Hide(); 
}

我想要一个关闭表单的按钮,而不触发此事件。我该怎么做呢?

按钮的代码:

private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
    Application.Exit(); 
}

我希望上面的按钮关闭表单而不是隐藏它。

4

2 回答 2

7
//unsubscribe the mean "don't let me close" handler
this.FormClosing -= form1_closing; 
//close form
this.Close();

另一种选择是创建一个布尔字段“shouldIReallyClose”。默认为假。当您真的想关闭表单时,请将其设置为 true。更改事件处理程序以在取消事件之前检查该布尔值。

于 2012-05-16T20:47:39.763 回答
1
protected override void OnFormClosing(FormClosingEventArgs e)
{
    if(!boolTrackingButtonPressed)
    {
       base.OnFormClosing(e);
    }
}
于 2012-05-16T20:51:31.380 回答