(https://msdn.microsoft.com/ru-ru/library/system.windows.forms.messagebox.show)
(https://msdn.microsoft.com/ru-ru/library/tk4wkzwk)
Синтаксис использования метода имеет следующий вид:
ReturnValue = MessageBox::Show([owner], text, [caption], [buttons],
[icon], [defaultButton], [options],
[helpFilePath, navigator, param]);


Рис.4.3. Варианты окна сообщения MessageBox
где:
– owner – указывает окно, которому будет принадлежать данное модальное диалоговое окно;
– text – текст, отображаемый в окне сообщения;
– caption – текст, отображаемый в заголовке окна сообщения;
– buttons – определяет набор кнопок в окне сообщения. Один из типовых наборов кнопок выбирается соответствующей константой из перечисления System::Windows::Forms::MessageBoxButtons (таблица 4.9);
– icon – определяет вид пиктограммы в окне сообщения. Вид пиктограммы определяется соответствующей константой из перечисления System::Windows::Forms::MessageBoxIcon (таблица 4.9);
– defaultButton – определяет кнопку по умолчанию в окне сообщения. Для этого используется соответствующая константа из перечисления System::Windows::Forms::MessageBoxDefaultButton (таблица 4.9);
– options – определяет вариант отображения окна сообщения и способ отображения текста в нем. Для этого используются соответствующие константы из перечисления System::Windows::Forms::MessageBoxOptions (таблица 4.9). Задание нуля означает использование настроек по умолчанию;
– helpFilePath – строка, содержащая путь и имя файла справки, который отображается при нажатии кнопки "Help" ("Справка");
– navigator – определяет способ доступа к элементам файла справки. Для этого используется соответствующая константа из перечисления System::Windows::Forms::HelpNavigator (таблица 4.10);
– param – числовой идентификатор раздела cправки, который отображается при нажатии кнопки "Help" ("Справка");
– ReturnValue – возвращаемое значение, позволяющее определить нажатую пользователем кнопку в окне сообщения. Для этого используется соответствующая константа из перечисления System::Windows::Forms::DialogResult (таблица 4.11).
Таблица 4.9. Константы, используемые в методе Show из класса MessageBox
| Константа | Значение | Назначение |
| Перечисление MessageBoxButtons | ||
| MessageBoxButtons.OK | Отображается только кнопка ОК | |
| MessageBoxButtons.OKCancel | Отображаются кнопки ОК и Cancel (Отмена) | |
| MessageBoxButtons.AbortRetryIgnore | Отображаются кнопки Abort (Прервать), Retry (Повторить) и Ignore (Пропустить) | |
| MessageBoxButtons.YesNoCancel | Отображаются кнопки Yes (Да), No (Нет) и Cancel (Отмена) | |
| MessageBoxButtons.YesNo | Отображаются кнопки Yes (Да), No (Нет) | |
| MessageBoxButtons.RetryCancel | Отображаются кнопки Retry (Повторить) и Cancel (Отмена) | |
| Перечисление MessageBoxIcon | ||
| MessageBoxIcon.None | Окно сообщения не содержит ни каких пиктограмм | |
| MessageBoxIcon.Error MessageBoxIcon.Hand MessageBoxIcon.Stop | Отображается пиктограмма "Ошибка" – (белый крестик на фоне красного кружка)
| |
| MessageBoxIcon.Question | Отображается пиктограмма "Запрос" – (синий вопросительный знак на фоне белого кружка).
Не рекомендуется использовать, т.к. он не четко отражает тип сообщения.
| |
| MessageBoxIcon.Exclamation MessageBoxIcon.Warning | Отображается пиктограмма "Предупреждение" – (восклицатель-ный знак на фоне желтого треугольника)
| |
| MessageBoxIcon.Information MessageBoxIcon.Asterisk | Отображается пиктограмма "Информация" – (синяя буква "i" на фоне белого кружка)
| |
| Перечисление MessageBoxDefaultButton | ||
| MessageBoxDefaultButton.Button1 | Первая кнопка в окне задается кнопкой по умолчанию | |
| MessageBoxDefaultButton.Button2 | Вторая кнопка в окне задается кнопкой по умолчанию | |
| MessageBoxDefaultButton.Button3 | Третья кнопка в окне задается кнопкой по умолчанию | |
| Перечисление MessageBoxOptions | ||
| MessageBoxOptions.DefaultDesktopOnly | Окно сообщения (с параметрами по умолчанию) отображается на активном рабочем столе, =217 | |
| MessageBoxOptions.RightAlign | Текст в окне сообщения выравнивается по правому краю, =219 | |
| MessageBoxOptions.RtlReading | Текст в окне сообщения отображается с порядком чтения справа налево (еврейский, арабский), =220 | |
| MessageBoxOptions.ServiceNotification | Окно сообщения отображается на текущем активном рабочем столе даже в том случае, если ни один пользователь не зарегистрирован в системе, = 221 |
Таблица 4.10. Константы (из перечисления System::Windows::Forms::HelpNavigator),
для доступа к элементам файла Справки
| Имя члена | Описание |
| Topic | Открытие файла Справки в указанной теме, если эта тема существует |
| TableOfContents | Открытие файла Справки по оглавлению |
| Index | Открытие файла Справки для индексации |
| Find | Открытие файла Справки на странице поиска |
| AssociateIndex | Открытие файла Справки на элементе указателя на первый символ указанного раздела |
| KeywordIndex | Открытие файла Справки в разделе с записью указанного индекса, если он существует; в противном случае отображается элемент указателя, ближайший к указанному ключевому слову |
| TopicId | Открытие файла Справки в разделе, заданном числовым идентификатором раздела |
Таблица 4.11. Константы (из перечисления System::Windows::Forms::DialogResult),
соответствующие возвращаемым методом Show значениям
| Константа | Значение | Нажатая кнопка |
| OK | OK | |
| Cancel | Cancel (Отмена) (этому же значению соответствует и нажатие кнопки Ï – Закрыть в строе заголовка окна сообщения) | |
| Abort | Abort (Стоп) | |
| Retry | Retry (Повторить) | |
| Ignore | Ignore (Пропустить) | |
| Yes | Yes (Да) | |
| No | No (Нет) | |
| None | Значение Nothing возвращается из диалогового окна. Это означает, что модальное диалоговое окно продолжает свою работу |
Пример 4.7. Использование метода Show класса MessageBox для отображения окна сообщения с запросом сохранения файла. В зависимости от того, какая кнопка была нажата в ответ на запрос, будут выполнены те или иные действия.
using namespace System;
using namespace System::Windows::Forms;
...
System::Windows::Forms::DialogResult result =
MessageBox::Show(this,
"Сохранить изменения в файле test.txt?", // Текст сообщения
"MyApplication", // Заголовок
(белый крестик на фоне красного кружка)
(синий вопросительный знак на фоне белого кружка).
Не рекомендуется использовать, т.к. он не четко отражает тип сообщения.
(восклицатель-ный знак на фоне желтого треугольника)
(синяя буква "i" на фоне белого кружка)