2013-04-22 97 views
2

我正在研究WPF應用程序。其中一個Windows的IsCancel=true有一個名爲「取消」的按鈕。當用戶單擊取消或按下ESCAPE鍵時,我需要顯示帶有是/否的消息框。如果用戶單擊是,窗口應該繼續關閉,但如果用戶單擊否,它不應該關閉窗體,但在窗口打開的情況下繼續常規操作。我該怎麼做?請幫忙。提前致謝。WPF取消按鈕

回答

3

這將幫助你

void Window_Closing(object sender, CancelEventArgs e) 
{ 
    MessageBoxResult result = MessageBox.Show(
      "msg", 
      "title", 
      MessageBoxButton.YesNo, 
      MessageBoxImage.Warning); 
     if (result == MessageBoxResult.No) 
     { 
      // If user doesn't want to close, cancel closure 
      e.Cancel = true; 
     }   
} 
3

你可以在WindowClosing處理它。

看一看here。有一個非常接近你的例子。

1
var Ok = MessageBox.Show("Are you want to Close", "WPF Application", MessageBoxButton.YesNo, MessageBoxImage.Information); 

      if (Ok == MessageBoxResult.Yes) 
      { 
       this.Close(); 
      } 
      else 
      { 

      } 
+0

那麼這就是問題!怎麼做'不'? – 2013-04-22 08:40:32

+0

在NO部分是否使用'e.Cancel = True'。 – 2013-04-22 08:42:16

+0

只需將空白選項保留爲空。 – 2013-04-22 08:44:23

1

打開一個消息框,並宣讀結果像這樣:

DialogResult result = MessageBox.Show(
    "Text", 
    "Title", 
    MessageBoxButtons.YesNo, 
    MessageBoxIcon.Question); 

if (result == DialogResult.Yes) 
{ 
    //The user clicked 'Yes' 
} 
else if (result == DialogResult.No) 
{ 
    //The user clicked 'No' 
} 
else 
{ 
    //If the user somehow didn't click 'Yes' or 'No' 
}