На этом шаге мы рассмотрим назначение, основные свойства и пример использования этого элемента управления.
Элемент управления ОptionButton (Переключатель) создается с помощью кнопки Переключатель (OptionButton) (рисунок 1).
Рис.1. Переключатель на форме
Он позволяет выбрать один из нескольких взаимоисключающих параметров или действий. Переключатели обычно отображаются группами, обеспечивая возможность выбора альтернативного варианта.
Приведем наиболее часто используемые свойства элемента управления OptionButton.
Свойство | Назначение |
---|---|
Value | Возвращает True, если переключатель выбран и False в противном случае |
Enabled | Допустимые значения: True (пользователь может выбрать переключатель) и False (в противном случае) |
Visible | Допустимые значения: True (переключатель отображается во время выполнения программы) и False (в противном случае) |
Capture | Надпись, отображаемая рядом с переключателем |
Рассмотрим способ использования переключателей на примере классической игры "Орел и Решка". Выбирая один из двух переключателей, игрок загадывает один из вариантов: орел (1 для компьютера) или решка (0 для компьютера). Не зная о выборе игрока, компьютер синтезирует с равной вероятностью либо 0, либо 1, что моделирует бросание монеты. Если игрок угадал правильную сторону монеты, подброшенную компьютером, то он выигрывает. В противном случае выигрывает компьютер. Компьютер информирует игрока о результате игры. На рисунке 2 приведено диалоговое окно, отображаемое на экране в случае проигрыша игрока.
Рис.2. Диалоговое окно, отображаемое на экране при проигрыше игрока
Для создания приложения, моделирующего игру "Орел и Решка", с помощью пользовательской формы UserForm1 создадим диалоговое окно, показанное на рисунке 3, а в модуле UserForm1 введем следующую процедуру, синтезирующую отклик на нажатие кнопки Бросание монеты.
Рис.3. Диалоговое окно игры Орел-Решка
Private Sub CommandButton1_Click() ' Генерация с равной вероятностью либо 0 (решка), либо 1 (орел), ' т.е. моделирование бросания монеты Randomize Монета = Int(2 * Rnd) ' Сравнение результата бросания монеты компьютером ' с ситуацией, если игрок загадал "Орел" If OptionButton1.Value = True Then If Монета = 0 Then MsgBox "He везет. Займись-ка лучше изучением VBA" If Монета = 1 Then MsgBox "Везунчик. Поздравляю, ты выиграл." End If ' Сравнение результата бросания монеты компьютером ' с ситуацией, если игрок загадал "Решка" If OptionButton2.Value = True Then If Монета = 1 Then MsgBox "He везет. Займись-ка лучше изучением VBA" If Монета = 0 Then MsgBox "Везунчик. Поздравляю, ты выиграл" End If End Sub
На следующем шаге мы рассмотрим элемент управления Frame.