#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
{
}