2013-04-22 101 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' 
}