какой код для проверки, нажимает ли пользователь yes no cancel? (c #)

#c# #winforms #messagebox

#c# #winforms #окно сообщений

Вопрос:

я использую messageBoxButton.Кнопка YesNoCancel, и я хочу знать, какую кнопку нажимает пользователь

как мне это сделать?

это код:

  MessageBox.Show("this item is already in the system, do you want to add it anyway ?",
                 "Question",MessageBoxButtons.YesNoCancel);
  

Спасибо…

Ответ №1:

Вы можете сохранить ответы в объекте DialogResult. Затем вы можете проанализировать ответы следующим образом:

        DialogResult result = MessageBox.Show("this item is already in the system, do you want to add it anyway ?", "Question",MessageBoxButtons.YesNoCancel);

       if (result == DialogResult.Yes) {
           //your code here
       } else if (result == DialogResult.Cancel) {
           //your code here
       } else if (result == DialogResult.No) {
          // your code here
       }
  

Ответ №2:

Из http://msdn.microsoft.com/en-us/library/0x49kd7z.aspx:

         result = MessageBox.Show(message, caption, buttons);
        if (result == System.Windows.Forms.DialogResult.Yes)
        {
            // Closes the parent form.
            this.Close();
        }
  

Ответ №3:

 DialogResult dialogResult = MessageBox.Show("your question?", 
                      "window title", MessageBoxButtons.YesNo);
switch(dialogResult){
   case DialogResult.Yes: break;
   case DialogResult.No: break;
}
  

Все возможные результаты диалога:

  • DialogResult.Yes
  • DialogResult.No
  • Диалогрезультат.Отмена
  • Диалогрезультат.Прервать
  • Диалогрезультат.Игнорировать
  • DialogResult.None
  • Диалогрезультат.Повторите попытку
  • DialogResult.OK

И посмотрите запись в MessageBox MSDN.

Ответ №4:

MessageBox.Show Функция возвращает значение типа DialogResult , которое указывает, на какую кнопку нажал пользователь. Изучив это возвращаемое значение, вы можете выяснить, какое из них они выбрали.

 DialogResult result = MessageBox.Show("this item is already in the system, do you want to add it anyway ?", "Question",MessageBoxButtons.YesNoCancel);

if (result == DialogResult.Yes)
{
    // they clicked Yes
}
else if (result == DialogResult.No)
{
    // they clicked No
}
else
{
    // they clicked Cancel
}
  

В качестве альтернативы, вы могли бы использовать switch инструкцию, а не if .

Ответ №5:

Окно сообщений.Show() возвращает диалоговый результат.

http://msdn.microsoft.com/en-us/library/0x49kd7z.aspx

http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult.aspx

 result = MessageBox.Show(...);

if(result == DialogResult.Yes)
{
}
  

Ответ №6:

 if (MessageBox.Show(message, caption, buttons) == System.Windows.Forms.DialogResult.Yes) // or No or Cancel
        {

        }