Приветствую всех, сегодня я покажу, как вывести диалоговое окно с сообщением пользователю, я частенько использую в своих программах. Да и порой под забываю какое именно мне нужно, и подсматриваю здесь.
Для начало создадим обычное приложение WinForm и разместим на нем кнопку при нажатии, на которое будем выводить сообщения.
using System; using System.Windows.Forms; namespace Сообщения { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } }
Для того что бы вывести обычно сообщения достаточно вписать в метод нажатия кнопки строку:
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru"); }
MessageBox.Show имеет перегруженные варианты метода, следующий пример нам покажет, как отобразить окно сообщения с заданным текстом и заголовком.
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
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.AbortRetryIgnore); }
Вариант OK
В этом варианте у нас ничего не измениться так как он используется по умолчанию, выводит кнопку Ok.
Вариант OKCancel
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OKCancel); }
Вариант RetryCancel Диалоговое окно подходит для вывода сообщения пользователю с возможностью повторения какого-либо действия, имея в функционале диалогового окна две кнопки Повтор, Отмена.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.RetryCancel); }
Вариант YesNo Диалоговое окно подходит для вывода сообщения пользователю с возможностью выбора, подтвердить или отказаться имя в функционале диалогового окна две кнопки Да, Нет.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.YesNo); }
Вариант YesNoCancel Диалоговое окно подходит для вывода сообщения пользователю с возможностью выбора, подтвердить или отказаться имя в функционале диалогового окна три кнопки Да, Нет, Отмена.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.YesNoCancel); }
Метод Show может принимать в качестве параметра изображения MessageBoxIcon которые позволяют устанавливать тип сообщения, и могут принимать следующие значения:
MessageBoxIcon.Error Диалоговое окно подходит для вывода сообщения пользователю об ошибке.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Error); }
MessageBoxIcon.Information Диалоговое окно подходит для вывода сообщения пользователю о какой то информации.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Information); }
MessageBoxIcon.None
Данные вариант стоит по умолчанию и не выводит никого изображения.
MessageBoxIcon.Question Диалоговое окно подходит для вывода сообщения пользователю о помощи.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Question); }
MessageBoxIcon.Warning Диалоговое окно подходит для вывода сообщения пользователю об ошибке или опасности.
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
MessageBoxIcon.Exclamation
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
MessageBoxIcon.Stop
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Stop); }
MessageBoxIcon.Asterisk
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); }
MessageBoxIcon.Hand
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 — Повтор
DialogResult resualt= MessageBox.Show("nookery.ru", "Сайт", MessageBoxButtons.YesNo);
А что бы посмотреть, что хранить переменная resualt мы можем вывести ее в сообщении:
MessageBox.Show(resualt.ToString());
В моем примере я нажал на кнопку Да и вывелось сообщения
В этих примерах мы рассмотрели возможность вывода сообщений пользователю, на основе диалоговых окно в WinForm.
Это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.
Спасибо. Сразу примеры внедрил в свою программку )) Очень пригодилось
Рад, что помог)
Тебе в добавок к компьютерной грамотности русский надо учить!
Ок
Добрый день, как сделать чтоб сообщение появлялось с системным звуком? Перебрал все варианты, звука нет!
Имба