[英]Visual C# completely ignoring FormClosing event
我的應用程序似乎完全跳過了Form_Closing事件,但我不確定為什么。 我試圖通過使用e.cancel並在關閉時顯示消息框來對其進行調試,但該消息框從不顯示,並且e.cancel不會將其取消。 我的代碼是
public void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (isClosed == false)
{
e.Cancel = true;
base.OnFormClosing(e);
this.Hide();
this.WindowState = FormWindowState.Minimized;
}
else
{
Application.Exit();
}
}
謝謝 :)
您的方法具有適用於FormClosing事件處理程序的簽名,但是您正在調用base.OnFormClosing
,該方法僅適用於OnFormClosing
重寫。
選一個。 例如,覆蓋看起來像
protected override void OnFormClosing(FormClosingEventArgs e)
{
if (isClosed == false)
{
e.Cancel = true;
base.OnFormClosing(e);
Hide();
WindowState = FormWindowState.Minimized;
}
else
{
Application.Exit();
}
}
首先僅使用一個消息框確定您發生了正確的事件,然后檢查isclose的值,因為我懷疑它是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.