Иллюстрированный самоучитель по Architecture .NET

Демонстрация диалогового окна

Мы продемонстрируем детали реализации диалогового окна на примере создания диалога для изменения информации о гостинице в упрощенной версии нашего примера. Код системы запуска нашего примера имеется в папке HotelAdminNStepl, которая находится в главной папке этой главы. Окончательная версия программы находится в папке HotelAdmin\Step3. Можно запустить первую версию примера, а можно сразу запустить решение Step 3 и посмотреть, как должно выглядеть диалоговое окно в окончательной версии.

В главной форме выберите гостиницу, щелкнув на соответствующем элементе списка гостиниц. Затем щелкните на кнопке Change (Изменить). В результате появится диалоговое окно Change Hotel Information (Изменение информации о гостинице), показанное на рис. 6.24. Обратите внимание на то, что поля City (Город) и Hotel Name (Название гостиницы) недоступны. Эти поля доступны только для чтения, и их значения изменить нельзя. Пользователь может изменить только значения полей Rooms (Количество номеров) и Rate (Стоимость).

Иллюстрированный самоучитель по Architecture .NET › Создание графических пользовательских интерфейсов › Демонстрация диалогового окна
Рис. 6.24. Диалоговое окно для изменения информации о гостинице

Создание модального диалога

В первой части нашей демонстрации мы научим вас создавать модальное диалоговое окно. Мы покажем, как устанавливать свойства диалога и как возвращать результаты после щелчка на кнопке (Ok или Cancel (Отмена).

  1. Скомпонуйте и запустите стартовую систему приложения. Кнопки Add (Добавить) и Delete (Удалить) работают, но для кнопки Change (Изменить) имеется только заглушка, которая по щелчку на этой кнопке отображает пустую форму. Это обычная форма. Ее размер можно изменять, у нее есть системное меню, кнопки свертывания Minimize (Свернуть) и развертывания Maximize (Развернуть).
  2. Откройте файл ChangeHotelDialog.cs в режиме Design (Конструктор). В окне Properties (Свойства) установите значение свойства FormBorderStyle равным FixedDialog.
  3. Установите значение свойств ControlBox, MinimizeBox и MaximizeBox равным False (Ложь). Сейчас можно скомпоновать и запустить приложение. Теперь размер диалогового окна будет фиксированным, у него не будет системного меню, а в правом верхнем углу окна не будет кнопки "X", с помощью которой можно закрыть окно.
  4. Теперь необходимо определить надписи и текстовые поля, содержащие информацию о гостинице. Кроме того, необходимо добавить кнопки ОК и Cancel (Отмена). Когда вы будете добавлять эти управляющие элементы, вы можете еще раз попрактиковаться в работе с панелью инструментов Toolbox (Инструментальная панель). Вы можете выбрать и другой подход скопировать эти свойства из файла NewHotelDialog.cs и затем вставить их, для этого нужно открыть оба файла в режиме Design (Конструктор).
  5. Если вы использовали копирование и вставку, то у управляющих элементов свойства Name (Имя) и Text (Текст) уже определены правильно. В противном случае установите значения в соответствии с табл. 6.2.

Таблица 6.2. Значения свойств текстовых полей и кнопок диалога ChangeHotelDialog.cs.

Имя (Name) Текст
txtCity (не заполнено)
txtHotelName (не заполнено)
txtlMumberRooms (не заполнено)
txtRate (не заполнено)
cmdOk ОК
cmdCancel Cancel (Отмена)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.