Шаг 10.
Язык программирования C#. Начала
Знакомство с языком C#. Настройка вида диалогового окна

    На этом шаге мы рассмотрим различные параметры, используемые для настройки диалогового окна.

    Окно, которое отображалось в предыдущем примере, было очень простым. Оно было настолько простым, что не содержало даже названия. Эту досадную оплошность легко исправить. Настройка диалогового окна выполняется передачей методу Show() из класса MessageBox дополнительных аргументов. Ниже описывается назначение аргументов метода Show().

    Таким образом, методу Show() можно передавать от одного до четырех аргументов. С первыми двумя аргументами (сообщение и заголовок окна) все просто - это текстовые значения. Третий и четвертый аргументы не так просты, а именно: третий аргумент должен быть константой из перечисления MessageBoxButtons.


Перечисления рассматриваются немного позже. Пока же просто отметим, что перечисление представляет собой набор констант (фиксированных, неизменных значений). Каждая константа имеет название. Название константы указывается вместе с названием перечисления: после имени перечисления ставится точка, и затем указывается название константы. Например, константа ОК из перечисления MessageBoxButtons, переданная третьим аргументом методу Show(), означает, что в диалоговом окне должна отображаться кнопка с названием ОК. Константа ОК передается аргументом в виде инструкции MessageBoxButtons.ОК.

    Константы из перечисления MessageBoxButtons, определяющие количество и названия отображаемых в диалоговом окне кнопок, перечислены в таблице 1.

Таблица 1. Константы для определения кнопок в диалоговом окне
Константа Описание
OK Отображение кнопки OK
OKCancel Отображение кнопок ОК и Cancel (Отмена)
YesNo Отображение кнопок Yes (Да) и No (Нет)
YesNoCancel Отображение кнопок Yes (Да), No (Нет) и Cancel (Отмена)
RetryCancel Отображение кнопок Retry (Повтор) и Cancel (Отмена)
AbortRetryIgnore Отображение кнопок Abort (Прервать), Retry (Повтор) и Ignore (Пропустить)

    Еще одна константа, на этот раз из перечисления MessageBoxIcon, определяет тип пиктограммы, отображаемой в диалоговом окне. Константы, используемые в качестве четвертого аргумента метода Show(), представлены в таблице 2.

Таблица 2. Константы для определения пиктограммы в диалоговом окне
Константа Пиктограмма
Asterisk Отображается пиктограмма с изображением прописной буквы i внутри синего круга
Error Буква X белого цвета внутри красного круга
Exclamation Восклицательный знак ! внутри желтого треугольника
Hand Буква X белого цвета внутри красного круга
Information Отображается пиктограмма с изображением прописной буквы i внутри синего круга
None Пиктограмма отсутствует
Question Знак вопроса ? внутри синего круга
Stop Буква X белого цвета внутри красного круга
Warning Восклицательный знак ! внутри желтого треугольника

    Как и в случае констант из перечисления MessageBoxButtons (третий аргумент), константа из перечисления MessageBoxIcon указывается вместе с названием перечисления. Например, константа Information передается аргументом методу Show() в виде инструкции MessageBoxIcon.Information. Небольшой пример использования констант из перечислений MessageBoxButtons и MessageBoxIcon представлен в программе ниже.

// Использование пространства имен: 
using System.Windows.Forms;
// Класс с главным методом программы:
class DialogDemo
{
    // Главный метод программы: 
    static void Main()
    {
        // Отображение диалогового окна:
        MessageBox.Show("Привет, мир!", // Сообщение 
        "Окно с названием",	        // Название окна
        MessageBoxButtons.OK,	        // Кнопки (одна ОК)
        MessageBoxIcon.Information      // Пиктограмма
            );
    }
}
Архив проекта можно взять здесь.

    При выполнении программы отображается диалоговое окно с сообщением. Как выглядит окно, показано на рисунке 1.


Рис.1. Диалоговое окно с пиктограммой и названием

    Особенность этого окна в том, что, помимо сообщения и кнопки ОК, у окна есть название Окно с названием и информационная пиктограмма (буква i внутри синего круга). Окно, которое отображалось в примере из предыдущего шага, не имело ни пиктограммы, ни названия. Для определения заголовка диалогового окна мы передаем вторым аргументом методу Show() текст "Окно с названием". Третий аргумент MessageBoxButtons.ОК означает, что в диалоговом окне отображается всего одна кнопка ОК. Четвертый аргумент MessageBoxIcon.Information определяет пиктограмму, отображаемую в диалоговом окне.


В нашем случае диалоговое окно содержит всего одну кнопку. В принципе, можно сделать так, чтобы кнопок было несколько (две или три). В таком случае пользователь может нажать одну из кнопок в диалоговом окне, и нам важно уметь определять, какая именно кнопка была нажата. Такая возможность есть.

    Метод Show() возвращает результат: инструкция с вызовом метода имеет значение. Это значение - одна из констант перечисления DialogResult. Константы определяют кнопку, нажатую пользователем:

    Как использовать эти значения для определения нажатой в окне кнопки, мы рассмотрим немного позже.


    На следующем шаге мы рассмотрим окно с полем ввода.




Предыдущий шаг Содержание Следующий шаг