Диалоговое окно сообщений для пользователя c#

Приветствую всех, сегодня я покажу, как вывести диалоговое окно с сообщением пользователю, я частенько использую в своих программах. Да и порой под забываю какое именно мне нужно, и подсматриваю здесь.

Для начало создадим обычное приложение 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.

Обновлено: 12.03.2023 — 22:37

7 комментариев

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

  2. Дмитрий

    Спасибо. Сразу примеры внедрил в свою программку )) Очень пригодилось

    1. Рад, что помог)

  3. Константин

    Тебе в добавок к компьютерной грамотности русский надо учить!

  4. Добрый день, как сделать чтоб сообщение появлялось с системным звуком? Перебрал все варианты, звука нет!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.