Диалоговые окна в С#

Диалоговые окна в C# — это вид окон, который используется для обеспечения диалога между программой и пользователем. Они могут передавать информацию пользователю, запрашивать у пользователя ответ или и то и другое одновременно.

Простейшим типом диалогового окна является предупреждение, которое отображает сообщение и может потребовать от пользователя подтверждения того, что сообщение было прочитано, обычно нажатием кнопки «ОК» или принятия решения о том, следует ли продолжать действие, нажав кнопку «ОК» или «Отмена».

Диалоговое окно также можно настроить. Такое диалоговое окно называется пользовательским диалоговым окном.

Диалоговые окна — это специальный тип форм, размер которых нельзя изменять. Они используются для отображения сообщений пользователю. Сообщения могут быть сообщениями об ошибках, подтверждением пароля, подтверждением удаления определенной записи, утилитой поиска-замены слова и т.д. Существуют стандартные диалоговые окна для открытия и сохранения файла, выбора папки, печати документов, установки шрифта или цвета текста и т.д.

Классическим примером диалогового окна является класс MessageBox, используемый для отображения сообщений пользователю. Метод show() данного класса предназначен для отображения окна сообщения с указанным текстом, заголовком, кнопками и значком. Существуют и другие доступные перегрузки этого метода.

Пример кода:


DialogResult res = MessageBox.Show("Вы действительно хотите удалить запись?", "Подтверждение удаления", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

if (res == DialogResult.OK) {
    MessageBox.Show("Вы подтвердили удаление!");
}

if (res == DialogResult.Cancel) {
    MessageBox.Show("Вы отказались удалять!");
}

Тип кнопок и значков можно изменить, используя соответствующие настройки, в нашем примере используются MessageBoxButtons.OKCancel, MessageBoxIcon.Information:

Диалоговые окна бывают двух типов:

  • Модальные диалоговые окна
  • Немодальные диалоговые окна
  • Диалоговое окно, которое временно останавливает работу программы так, что пользователь не может продолжить работу до тех пор, пока диалоговое окно не будет закрыто, называется модальным диалоговым окном. Приложению может потребоваться некоторая дополнительная информация, прежде чем оно сможет продолжить работать, или оно может просто попросить подтвердить, что пользователь хочет продолжить алгоритм действий. Приложение продолжает выполняться только после закрытия диалогового окна; до тех пор приложение останавливается. Например, если при сохранении файла пользователь указывает имя существующего файла отображается предупреждение о том, что файл с тем же именем существует, независимо от того, следует ли его перезаписать или сохранить с другим именем. Файл не будет сохранен, если пользователь не выберет «ОК» или «Отмена».

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

    Разработчик может создать собственные классы диалоговых окон, наследуясь от базового класса System.Windows.Forms. Для отображения модального диалогового окна затем будет использоваться метод ShowDialog(). Немодальные диалоговые окна отображаются с помощью метода Show().

    Таким образом, диалоговые окна — это базовый компонент интерфейса любого графического приложения и в C# они создаются очень просто и призваны нести обратную связь
    для пользователя.

    Источник