Приветствую всех, сегодня я покажу, как вывести диалоговое окно с сообщением пользователю, я частенько использую в своих программах. Да и порой под забываю какое именно мне нужно, и подсматриваю здесь.
Для начало создадим обычное приложение WinForm и разместим на нем кнопку при нажатии, на которое будем выводить сообщения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; using System.Windows.Forms; namespace Сообщения { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } } |
Для того что бы вывести обычно сообщения достаточно вписать в метод нажатия кнопки строку:
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru"); } |
MessageBox.Show имеет перегруженные варианты метода, следующий пример нам покажет, как отобразить окно сообщения с заданным текстом и заголовком.
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт"); } |
В следующем примере нам придется использовать MessageBoxButtons в качестве передаваемого аргумента. Однако он имеет несколько параметров:
- MessageBoxButtons.AbortRetryIgnore – Прервать | Повтор | Пропустить
- MessageBoxButtons.OK — ОК
- MessageBoxButtons.OKCancel — ОК | Отмена
- MessageBoxButtons.RetryCancel — Повтор | Отмена
- MessageBoxButtons.YesNo — Да | Нет
- MessageBoxButtons.YesNoCancel — Да | Нет | Отмена
Это нам позволит разместить в диалоговом окне сообщение кнопку или кнопки, в зависимости от параметров.
Рассмотрим все примеры с использованием кнопок:
Вариант AbortRetryIgnore
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.AbortRetryIgnore); } |
Вариант OK
В этом варианте у нас ничего не измениться так как он используется по умолчанию, выводит кнопку Ok.
Вариант OKCancel
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OKCancel); } |
Вариант RetryCancel Диалоговое окно подходит для вывода сообщения пользователю с возможностью повторения какого-либо действия, имея в функционале диалогового окна две кнопки Повтор, Отмена.
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.RetryCancel); } |
Вариант YesNo Диалоговое окно подходит для вывода сообщения пользователю с возможностью выбора, подтвердить или отказаться имя в функционале диалогового окна две кнопки Да, Нет.
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.YesNo); } |
Вариант YesNoCancel Диалоговое окно подходит для вывода сообщения пользователю с возможностью выбора, подтвердить или отказаться имя в функционале диалогового окна три кнопки Да, Нет, Отмена.
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.YesNoCancel); } |
Метод Show может принимать в качестве параметра изображения MessageBoxIcon которые позволяют устанавливать тип сообщения, и могут принимать следующие значения:
MessageBoxIcon.Error Диалоговое окно подходит для вывода сообщения пользователю об ошибке.
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Error); } |
MessageBoxIcon.Information Диалоговое окно подходит для вывода сообщения пользователю о какой то информации.
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Information); } |
MessageBoxIcon.None
Данные вариант стоит по умолчанию и не выводит никого изображения.
MessageBoxIcon.Question Диалоговое окно подходит для вывода сообщения пользователю о помощи.
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Question); } |
MessageBoxIcon.Warning Диалоговое окно подходит для вывода сообщения пользователю об ошибке или опасности.
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Warning); } |
MessageBoxIcon.Exclamation
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } |
MessageBoxIcon.Stop
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Stop); } |
MessageBoxIcon.Asterisk
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } |
MessageBoxIcon.Hand
1 2 3 4 |
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Hand); } |
Для того что бы сохранить полученный результат после нажатия кнопки, нам достаточно создать переменную класса DialogResult
DialogResult может принимать следующие значения:
- DialogResult.Abort — Прервать
- DialogResult.Cancel — Отмена
- DialogResult.Ignore — Пропустить
- DialogResult.No — Нет
- DialogResult.Yes — Да
- DialogResult.OK — ОК
- DialogResult.Retry — Повтор
1 |
DialogResult resualt= MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.YesNo); |
А что бы посмотреть, что хранить переменная resualt мы можем вывести ее в сообщении:
1 |
MessageBox.Show(resualt.ToString()); |
В моем примере я нажал на кнопку Да и вывелось сообщения
В этих примерах мы рассмотрели возможность вывода сообщений пользователю, на основе диалоговых окно в WinForm.
Это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.
Спасибо. Сразу примеры внедрил в свою программку )) Очень пригодилось
Рад, что помог)
Тебе в добавок к компьютерной грамотности русский надо учить!
Ок
Добрый день, как сделать чтоб сообщение появлялось с системным звуком? Перебрал все варианты, звука нет!
Имба