Елементи інтерфейсу: Вікно повідомлення
Вікно повідомлень є найпростішим з діалогових вікон і дозволяє відображати інформацію про виконання програми та її стан.
Вікно повідомлень не може приймати текстове введення, воно лише пропонує зробити вибір з обмеженої кількості представлених варіантів. Даний тип вікна не вимагає проектування: вікно складається з заголовка, тексту повідомлення, значка і однієї або декількох кнопок. При цьому існує лише певний набір відображуваних значків і кнопок. Крім того, вікно повідомлень є модальним і користувач не може продовжити роботу програми, не натиснувши жодної із запропонованих кнопок.
Рис.1. Приклад діалогового вікна виведення повідомлень
Вікно повідомлення викликається з програми методом MessageBox.Show, який повинен виглядати так:
Function Show(ByVal owner As IWin32Window, _
ByVal text As String, _
ByVal caption As String, _
ByVal buttons As MessageBoxButtons, _
ByVal icon As MessageBoxIcon, _
ByVal defaultButton As MessageBoxDefaultButton, _
ByVal options As MessageBoxOptions) As DialogResult
де:
- Owner - елемент управління, до якого буде ставитися вікно повідомлення;
- Text - відображається в діалоговому вікні текст повідомлення. У цей текст можна вставити як роздільники рядків повернення каретки, переведення рядка або їх комбінацію з допомогою констант vbCr, vbLf і vbCrLf відповідно;
- Caption - текст заголовка вікна повідомлення;
- Buttons - кнопки, які відображаються у вікні повідомлення. Може приймати одне із значень (таблиця 1) перерахування MessageBoxButtons;
Таблиця 1. Кнопки, які розміщуються у вікні повідомлень
Значення | Набір кнопок діалогового вікна |
AbortRetryIgnore | Abort (Відмінити), Retry (Повторити) та Ignore (Пропустити) |
OK | OK |
OKCancel | OK и Cancel (Відмінити) |
RetryCancel | Retry (Повторити) и Cancel (Відмінити) |
YesNo | Yes (Так) и No (Ні) |
YesNoCancel | Yes (Так), No (Ні) и Cancel (Відмінити) |
- icon - значок, що відображається поруч з текстом. Може приймати одне із значень (таблиця 2) перерахування MessageBoxIcon;
Таблиця 2. Значки, які розміщуються у вікні повідомлень
Іконка | Значення | Тип повідомлення |
![]() |
Asterisk, Information | Інформує про стан програми |
![]() |
Error, Hand, Stop | Повідомляє про серйозну помилку при виконанні програми |
![]() |
Exclamation, Warning | Попереджає про помилку, яка може викликати труднощі при роботі додатка |
![]() |
Question | Вимагає додаткову інформацію |
Без іконки | None | Будь-яке інше повідомлення |
- defaultButton - обрана за замовчуванням кнопка, тобто кнопка, на яку встановлюється фокус. Може приймати одне із значень перерахування MessageBoxDefaultButton: Button1 (Перша кнопка), Button2 (Друга кнопка) і Button3 (Третя кнопка);
- Options - параметри діалогового вікна. Може приймати одне із значень (таблиця 3) перерахування MessageBoxOptions.
Таблиця 3. Параметри вікна повідомлень
Значення | Опис |
DefaultDesktopOnly | Вікно повідомлень розташовується на активному робочому столі |
RightAlign | Текст і заголовок вікна повідомлень вирівнюється по правому краю |
RtlReading | Елементи вікна повідомлень розташовуються в порядку читання справа наліво. Наприклад, значок з'являється праворуч від тексту повідомлення, а при наявності двох кнопок Yes (Так) і No (Ні), перша розташовується праворуч, а друга - зліва |
ServiceNotification | Вікно повідомлень розташовується на поточному активному робочому столі навіть в тому випадку, якщо жоден користувач не зареєстрований в системі |
Примітка
У методі MessageBox.Show можна використовувати не всі параметри. Будь-яке число параметрів праворуч і параметр owner можна прибрати, залишивши хоча б параметр text. Наприклад, метод може містити лише параметри text і caption, тоді вікно повідомлень не буде містити значка і буде відображатися одна кнопка OK.
Метод MessageBox.Show повертає в залежності від натиснутої кнопки вікна повідомлень одне зі значень перерахування DialogResult. Перерахування DialogResult має значення Abort, Cancel, Ignore, No, OK, Retry, Yes, відповідні кнопкам вікна повідомлень, і значення None, коли вікно повідомлень знаходиться в процесі виконання.
Приклад виклику вікна повідомлень
Розглянемо невеликий приклад, який дозволить створювати різні вікна повідомлень. Для цього виконайте такі дії:
1. Створіть новий Windows-додаток з ім'ям MessageBoxExample.
2. Відкрийте вікно властивостей і задайте за допомогою властивостей Text і Name форми заголовок форми Вікна повідомлень і ім'я форми frmMsgBoxes.
3. Перетягніть на форму два елементи управління Button. Задайте для кожного елемента наступні значення властивостей Text і Name: Привітання та bWelc, Вихід і bExit.
4. Для відкриття при натисканні кнопки Привітання простого вікна повідомлення, що складається з заголовка, тексту повідомлення і кнопки OK, додайте в код програми процедуру обробки події натискання кнопки bWelc з наступною рядком:
MessageBox.Show("Вітаємо Вас!", "Вікно повідомлень")
5. Для створення вікна повідомлення, що дозволяє завершити додаток, додайте в код програми процедуру обробки події натискання кнопки bExit з наступним кодом:
Dim result As DialogResult
result = MessageBox.Show("Ви дійсно бажаєте закрити програму?", _
"Закриття програми", MessageBoxButtons.YesNo, _
MessageBoxIcon.Asterisk)
If result = DialogResult.Yes Then
Application.Exit()
End If
Приклад виконання програми наведено нижче:
Повний лістинг приладу:
Public Class frmMsgBoxes
Private Sub bWelc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles bWelc.Click
MessageBox.Show("Вітаємо Вас!", "Віно повідомлень")
End Sub
Private Sub bExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles bExit.Click
Dim result As DialogResult
result = MessageBox.Show("Ви дійсно бажаєте закрити програму?", _
"Закриття програми", MessageBoxButtons.YesNo, _
MessageBoxIcon.Asterisk)
If result = DialogResult.Yes Then
Application.Exit()
End If
End Sub
End Class