Как создать окно сообщения с параметрами «Да», «Нет» и «Диалоговое окно»?

Я хочу сделать простой Да / Нет выбранный MessageBox, но я думаю, что это бессмыслица для разработки формы для этого. Я думал, что могу использовать MessageBox, добавлять кнопки и т. Д., Чтобы выполнить это. Это просто, но поскольку нет возвращаемого DialogResult, как получить результат?

Это должно сделать это:

DialogResult dialogResult = MessageBox.Show("Sure", "Some Title", MessageBoxButtons.YesNo); if(dialogResult == DialogResult.Yes) { //do something } else if (dialogResult == DialogResult.No) { //do something else } 
 DialogResult dr = MessageBox.Show("Are you happy now?", "Mood Test", MessageBoxButtons.YesNo); switch(dr) { case DialogResult.Yes: break; case DialogResult.No: break; } - DialogResult dr = MessageBox.Show("Are you happy now?", "Mood Test", MessageBoxButtons.YesNo); switch(dr) { case DialogResult.Yes: break; case DialogResult.No: break; } 

Класс MessageBox – это то, что вы ищете.

 MessageBox.Show(title, text, messageboxbuttons.yes/no) 

Это возвращает DialogResult, который вы можете проверить.

Например,

 if(MessageBox.Show("","",MessageBoxButtons.YesNo) == DialogResult.Yes) { //do something } 

MessageBox действительно создает DialogResults

 DialogResult r = MessageBox.Show("Some question here"); 

Вы также можете легко задать кнопки. Дополнительную документацию можно найти на странице http://msdn.microsoft.com/en-us/library/ba2a6d06.aspx

Использование:

 MessageBoxResult m = MessageBox.Show("The file will be saved here.", "File Save", MessageBoxButton.OKCancel); if(m == m.Yes) { // Do something } else if (m == m.No) { // Do something else } 

MessageBoxResult используется на Windows Phone вместо DialogResult …

Вы также можете использовать этот вариант с текстовыми строками, вот полный измененный код (Code from Mikael), протестированный на C # 2012:

 // Variable string MessageBoxTitle = "Some Title"; string MessageBoxContent = "Sure"; DialogResult dialogResult = MessageBox.Show(MessageBoxContent, MessageBoxTitle, MessageBoxButtons.YesNo); if(dialogResult == DialogResult.Yes) { //do something } else if (dialogResult == DialogResult.No) { //do something else } 

Вы можете после

 .YesNo 

вставить значок сообщения

 , MessageBoxIcon.Question 

Ответ @Mikael Svenson правильный. Я просто хотел добавить небольшое дополнение к нему:

Значок Messagebox также может быть добавлен как дополнительное свойство, как показано ниже:

 DialogResult dialogResult = MessageBox.Show("Sure", "Please Confirm Your Action", MessageBoxButtons.YesNo, MessageBoxIcon.Question); 
 dynamic MsgResult = this.ShowMessageBox("Do you want to cancel all pending changes ?", "Cancel Changes", MessageBoxOption.YesNo); if (MsgResult == System.Windows.MessageBoxResult.Yes) { enter code here } else { enter code here } 

Подробнее узнать здесь

Этот простой код работал для меня. Я схватил его из MSDN здесь:

https://social.msdn.microsoft.com/Forums/en-US/d1092a96-96b0-4ca4-b716-0c8e55e42ee9/how-can-i-manage-messagebox-result-?forum=Vsexpressvcs

 if (System.Windows.Forms.MessageBox.Show ("Are you sure you want to add the audit?", "Add", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question) ==System.Windows.Forms.DialogResult.Yes) // Do stuff after 'YES is clicked' else // DO stuff after 'NO is clicked' 
  • Можно ли использовать ShowDialog без блокировки всех форм?
  • Пользовательские заголовки / хром в приложении WinForms
  • C # DataGridView Checkbox проверено событие
  • Прозрачность для текстовых окон форм Windows
  • C #: Как добавить подтипы в ListView
  • Изменение размера изображения пропорционально ограничениям MaxHeight и MaxWidth
  • Клиент сервера посылает / получает простой текст
  • как запустить winform из консольного приложения?
  • Уместно ли распространять Control для обеспечения неизменно безопасной функции Invoke / BeginInvoke?
  • Как сохранить Список в Settings.Default?
  • показать форму windows из windows службы
  • Interesting Posts

    Когда для доступа к свойствам с помощью «self»

    При запуске WebDriver с браузером Chrome, получая сообщение, разрешены только локальные подключения, даже если браузер запускается правильно

    Пользовательская «клавиатура», встроенная в приложение на Android

    Безопасное получение файла с компьютера Mac с помощью вредоносного ПО

    Bluetooth-соединение без подтверждения пользователя

    Как сделать телефонный звонок в android и вернуться к моей активности, когда вызов будет выполнен?

    Просмотр списка привязки к элементу

    Не останавливайте отладчик в этом исключении, когда его бросают и поймают

    Пример Android JSoup

    Как проверить диалог подтверждения с Cucumber?

    Создание кросс-платформенного приложения Java SWT

    Как получить общий тип во время выполнения?

    Конкатенация символов для формирования строки дает разные результаты

    Извлечение списка друзей в Graph API или FQL – Появляется, чтобы пропустить некоторых друзей

    Как объединить поиск и grep для сложного поиска? (GNU / linux, find, grep)

    Давайте будем гением компьютера.