Есть ли в Windows Forms встроенный диалог подтверждения?

115

Я хотел бы создать простое диалоговое окно подтверждения, в котором говорится: «Пожалуйста, проверьте информацию и, если вы уверены, что она верна, нажмите ОК».

Есть ли что-то подобное?


источник

Ответы:

223

Вот пример. Вы можете попробовать что-то подобное.

var confirmResult =  MessageBox.Show("Are you sure to delete this item ??",
                                     "Confirm Delete!!",
                                     MessageBoxButtons.YesNo);
if (confirmResult == DialogResult.Yes)
{
    // If 'Yes', do something here.
}
else
{
    // If 'No', do something here.
}

Вы также можете попробовать MessageBoxButtons.OKCancelвместо MessageBoxButtons.YesNo. Это зависит от ваших требований.

  1. Если у вас .Net Framework 4.6 или выше, попробуйте это.
MessageBoxResult confirmResult = MessageBox.Show("Are you sure to delete this item ??", "Confirm Delete!!", MessageBoxButton.YesNo);`

if (confirmResult == MessageBoxResult.Yes)
{
   // If 'Yes', do something here.
}
else
{
   // If 'No', do something here.
}
Раагав
источник
2
Этот подход отлично сработал для меня. У меня был случай, когда есть кнопка «сброса», которая удаляет данные, и это дает отличный способ справиться с этим.
Николас Крейдберг
1
В моем случае вместо DialogResult мне пришлось использовать MessageBoxResult
kamil.ka
MessageBoxButtons.YesNo должен читать MessageBoxButton.YesNo, а DialogResult изменяет MessageBoxResult для .NET 4.6.
Ян
17

MessageBox.Show? Вы можете указать заголовок, заголовок и несколько параметров для отображения кнопок.

С другой стороны, если вы просите людей подтвердить информацию, это звучит так, будто вы, вероятно, захотите показать настраиваемый диалог, который вы можете сделать с ним Form.ShowDialog.

Джон Скит
источник
1
Спасибо, посмотрю на класс Form.ShowDialog. Кстати, как вы редактировали свой вопрос, не показывая исправления?