Как создать окно сообщения с параметрами «Да», «Нет» и «Диалоговое окно»?
Я хочу сделать простой Да / Нет выбранный MessageBox, но я думаю, что это бессмыслица для разработки формы для этого. Я думал, что могу использовать MessageBox, добавлять кнопки и т. Д., Чтобы выполнить это. Это просто, но поскольку нет возвращаемого DialogResult, как получить результат?
- Как реализовать MVC в приложении Windows Forms?
- Скрыть одиночную форму при запуске
- Добавить таймер в приложение Windows Forms
- Ribbon UI Control для WinForms
- Обнаружение, когда SerialPort отключается
- Получить значение для элемента списка по индексу
- В чем разница между Application.ThreadException и AppDomain.CurrentDomain.UnhandledException?
- Обнаружить изменение разрешения c # WinForms
Это должно сделать это:
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 здесь:
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'