簡體   English   中英

如何阻止表單關閉並顯示確認對話框?

[英]How do I prevent a form from closing and display a confirmation dialog?

我希望當用戶關閉窗口時,會顯示一個MessageBox並詢問用戶是否確定要關閉窗口。 但是當我嘗試時,窗口關閉,nevers向我顯示MessageBox。

private void SchetsWin_FormClosing(object sender, FormClosingEventArgs e)
{
    if (e.CloseReason == CloseReason.UserClosing)
    {
        e.Cancel = true;
        MessageBox.Show("Example");
    }
}

不要為表單本身連接事件,只需覆蓋OnFormClosing方法即可。 至於顯示確認消息以確認它,只需檢查MessageBox的DialogResult的值:

protected override void OnFormClosing(FormClosingEventArgs e) {
  if (e.CloseReason == CloseReason.UserClosing) {        
    if (MessageBox.Show("Do you want to close?", 
                        "Confirm", 
                        MessageBoxButtons.YesNo,
                        MessageBoxIcon.Question) == DialogResult.No) {
      e.Cancel = true;
    }
  }
  base.OnFormClosing(e);
}

不過要小心這樣的功能 - 它有惹惱最終用戶的傾向。

protected override void OnFormClosing(FormClosingEventArgs e)

  { if (MessageBox.Show("Are you sure you want to Close?","Confirm",MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.No) { e.Cancel = true; } } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM