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

Программа 5:

1. Скомпонуйте и запустите стартовую систему приложения AdminForm. На форме расположены кнопки Add и Exit и 4 элемента Label для отображения информации. По щелчку на кнопке Add отображается пустая форма AddHotelDialog.cs. Это обычная форма. Ее размер можно изменять, у нее есть системное меню, кнопки свертывания Minimize и развертывания Maximize.

 

 

Рисунок 3.10 - Окно приложения AdminForm

 

2. Откройте файл AddHotelDialog.cs в режиме Design (Конструктор). В окне Properties установите значение свойства FormBorderStyle равным FixedDialog.

3. Установите значение свойств ControlBox, MinimizeBox и MaximizeBox равным False. Сейчас можно скомпоновать и запустить приложение. Теперь размер диалогового окна будет фиксированным, у него не будет системного меню, а в правом верхнем углу окна не будет кнопки "X", с помощью которой можно закрыть окно.

4. Добавьте на форму текстовые поля TextBox и Label, содержащие информацию о гостинице. Кроме того, необходимо добавить кнопки ОК и Cancel.

5. Установите значения и имена элементов в соответствии с табл. 3.7.

Рисунок 3.11 - Диалоговое окно для изменения информации о гостинице

 

6. Измените размер формы так, чтобы на ней помещались все добавленные управляющие элементы.

7. Установите значение свойства DialogResult кнопки ОК равным ОК. Точно так же установите значение этого свойства кнопки Cancel равным Cancel. Сохраните изменения, сделанные в файле AddHotelDialog.cs.

8. В файле AdminForm.cs временно добавьте к обработчику cmdAdd_Click код, который отвечает за отображение окна диалога. Обратите внимание на то, что диалоговое окно отображается с помощью метода ShowDialog, а не метода Show, который используется для обычных форм.

private void cmdAdd_Click (object sender, EventArgs e) {

AddHotelDialog dialog = new AddHotelDialog();

Dialog.ShowDialog();

}

 

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

Имя (Name) Текст
txtCity (не заполнено)
txtHotelName (не заполнено)
txtlMumberRooms (не заполнено)
txtRate (не заполнено)
cmdOk ОК
cmdCancel Cancel

 

9. Скомпонуйте и запустите пример. Теперь диалоговое окно уже можно открыть с помощью кнопки Add, а закрыть— с помощью любой из кнопок ОК или Cancel. Можно проверить, что диалоговое окно является модальным, пощелкав мышью где-нибудь еще в приложении.

10. Закрыть приложение можно кнопкой Exit, добавив обработчик события:

private void cmdExit_Click(object sender, EventArgs e) {

if(MessageBox.Show("Do you want to close", "Warning", MessageBoxButtons.YesNo,

MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) {

Application.Exit();

}

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: