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();

もう1つのオプションは、ブールフィールドを「shouldIReallyClose」にすることです。デフォルトはfalseです。本当にフォームを閉じたい場合は、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 に答える