Процедура, выводящая форму на экран, создана. Теперь надо подумать о том, как форма будет себя вести на экране, т.е. продумать реакцию ее элементов на различные события, вызываемые действиями пользователя. Например, при установке флажка Включить в группе элементов Дополнительно надо снять блокировку с поля ввода сумму. Надо также снять блокировку с полей, принимающих информацию о кредитной карте, если выбран переключатель Кредитная карта. За подобные действия должна отвечать процедура, вызываемая событием Change (Изменить). Это событие генерируется всякий раз, когда изменяется значение свойства Value (Значение) какого-либо элемента управления. В данном случае, чтобы изменить свойства связанных элементов, надо сначала изменить значение свойства Value на True флажка Включить и переключателя Кредитная карта.
Выполните следующую последовательность действий.
Перейдите в редактор Visual Basic (если вы находитесь не в нем) и откройте форму frmGuestExpense.
Дважды щелкните на флажке Включить, чтобы открыть окно кода.
В списке событий в верхней части окна кода выберите событие Change и в процедуру chkTipIncluded_Change введите следующий код:
If chkTipIncluded.Value = True Then
lblTipAmount. Enabled = True
txtTipAmount.Enabled = True
Else
lblTipAmount.Enabled = False
txtTipAmount.Enabled = False
End If
В левом верхнем списке над окном кода (где сейчас отображается chkTipIncluded) щелкните на кнопке со стрелкой, направленной вниз. В открывшемся списке выберите optCreditCard (переключатель Кредитная карта).
В списке событий выберите событие Change. В окне кода отобразится заголовок процедуры optCreditCard_Change.
Перейдите в рабочую книгу на Лист1 и щелкните на командной кнопке. Отобразится форма (рис. 15.3).
Установите флажок Включить. Поле ввода сумму станет доступным.
Установите переключатель Кредитная карта. Связанные с этим переключателем поля станут также доступными (рис. 15.4).
Закройте форму и сохраните рабочую книгу. Возвратитесь в редактор Visual Basic.
Рис. 15.3. После открытия формы некоторые элементы недоступны
Рис. 15.4. С помощью события Change все элементы стали доступны
В процедуре optCreditCard_Change событие Change использовалось для проверки значения свойства Value, и в зависимости от этого значения блокировка элементов управления или снималась (свойство Enabled равно True) или устанавливалась (свойство Enabled равно False). Но при обработке события Change вы не ограничены работой только со свойством Enabled, можно изменить значения таких свойств элементов управления, как Text, Value или Caption.