Приветствую всех, сегодня я покажу, как вывести диалоговое окно с сообщением пользователю, я частенько использую в своих программах. Да и порой под забываю какое именно мне нужно, и подсматриваю здесь.
Для начало создадим обычное приложение 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.

Это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.
Спасибо. Сразу примеры внедрил в свою программку )) Очень пригодилось
Рад, что помог)
Тебе в добавок к компьютерной грамотности русский надо учить!
Ок
Добрый день, как сделать чтоб сообщение появлялось с системным звуком? Перебрал все варианты, звука нет!
Имба