Демонстрация диалогового окна
Мы продемонстрируем детали реализации диалогового окна на примере создания диалога для изменения информации о гостинице в упрощенной версии нашего примера. Код системы запуска нашего примера имеется в папке HotelAdminNStepl, которая находится в главной папке этой главы. Окончательная версия программы находится в папке HotelAdmin\Step3. Можно запустить первую версию примера, а можно сразу запустить решение Step 3 и посмотреть, как должно выглядеть диалоговое окно в окончательной версии.
В главной форме выберите гостиницу, щелкнув на соответствующем элементе списка гостиниц. Затем щелкните на кнопке Change (Изменить). В результате появится диалоговое окно Change Hotel Information (Изменение информации о гостинице), показанное на рис. 6.24. Обратите внимание на то, что поля City (Город) и Hotel Name (Название гостиницы) недоступны. Эти поля доступны только для чтения, и их значения изменить нельзя. Пользователь может изменить только значения полей Rooms (Количество номеров) и Rate (Стоимость).
Рис. 6.24. Диалоговое окно для изменения информации о гостинице
Создание модального диалога
В первой части нашей демонстрации мы научим вас создавать модальное диалоговое окно. Мы покажем, как устанавливать свойства диалога и как возвращать результаты после щелчка на кнопке (Ok или Cancel (Отмена).
- Скомпонуйте и запустите стартовую систему приложения. Кнопки Add (Добавить) и Delete (Удалить) работают, но для кнопки Change (Изменить) имеется только заглушка, которая по щелчку на этой кнопке отображает пустую форму. Это обычная форма. Ее размер можно изменять, у нее есть системное меню, кнопки свертывания Minimize (Свернуть) и развертывания Maximize (Развернуть).
- Откройте файл ChangeHotelDialog.cs в режиме Design (Конструктор). В окне Properties (Свойства) установите значение свойства FormBorderStyle равным FixedDialog.
- Установите значение свойств ControlBox, MinimizeBox и MaximizeBox равным False (Ложь). Сейчас можно скомпоновать и запустить приложение. Теперь размер диалогового окна будет фиксированным, у него не будет системного меню, а в правом верхнем углу окна не будет кнопки "X", с помощью которой можно закрыть окно.
- Теперь необходимо определить надписи и текстовые поля, содержащие информацию о гостинице. Кроме того, необходимо добавить кнопки ОК и Cancel (Отмена). Когда вы будете добавлять эти управляющие элементы, вы можете еще раз попрактиковаться в работе с панелью инструментов Toolbox (Инструментальная панель). Вы можете выбрать и другой подход скопировать эти свойства из файла NewHotelDialog.cs и затем вставить их, для этого нужно открыть оба файла в режиме Design (Конструктор).
- Если вы использовали копирование и вставку, то у управляющих элементов свойства Name (Имя) и Text (Текст) уже определены правильно. В противном случае установите значения в соответствии с табл. 6.2.
Таблица 6.2. Значения свойств текстовых полей и кнопок диалога ChangeHotelDialog.cs.
Имя (Name) | Текст |
---|---|
txtCity | (не заполнено) |
txtHotelName | (не заполнено) |
txtlMumberRooms | (не заполнено) |
txtRate | (не заполнено) |
cmdOk | ОК |
cmdCancel | Cancel (Отмена) |