2013-04-22 3 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 enent.

Посмотрите 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

Ну то будет вопрос! Что делать для «Нет»? –

+0

Сделал это с использованием 'e.Cancel = True' в секции NO. –

+0

Просто оставьте без опции как пустую. –

1

Открыть MessageBox и прочитать результат следующим образом:

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' 
} 
Смежные вопросы