Свойства элемента Переключатель
Таблица 1
Свойство | Описание |
Value | Возвращает значение True, если переключатель выбран, и False – в противном случае |
Caption | Надпись, отображаемая рядом с переключателем |
Visible | Логическое свойство, определяющее, отображается ли переключатель во время выполнения программы |
В качестве примера использования переключателя создадим программу, которая позволяет пользователю выбрать одну из альтернатив: суммировать или перемножать вводимые числа.
Private Sub Command1_Click()
Dim per As Integer
Dim vtor As Integer
Dim rez As Integer
per = a.Text
vtor = b.Text
If Option1.Value = True Then rez = per + vtor
If Option2.Value = True Then rez = per * vtor
p.Text = rez
End Sub
При размещении в форме нескольких групп переключателей каждая логическая группа должна помещаться в объект-контейнер, например Frameили pictureBox (рис. 1.). В этом случае, для создания в форме группы переключателей необходимо сначала поместить в форму рамку, а затем разместить в ней поочередно необходимое количество переключателей, используя для этого кнопкуOptionButton на панели элементов управления.
Рис. 1. Примерный вид формы
Предупреждение
При создании группы переключателей необходимо придерживаться вышеназванного порядка размещения элементов, т. к. только в этом случае элементы будут являться группой.
При запуске приложения на выполнение, содержащего группу переключателей, первый из них устанавливается по умолчанию. Вы можете во время разработки любой переключатель группы сделать используемым по умолчанию. Для этого выделите требуемый переключатель и в окнеProperties присвойте свойству valueзначениеFalse. Вы можете переключатель сделать недоступным. Для этого необходимо значение свойства Enabled (Доступный) установить вFalse. В этом случае переключатель выделяется серым цветом.
Элемент управления Frame является контейнером и служит для объединения других элементов в группу, после чего помещенными в него объектами можно управлять как единым целым. Например, элемент управления Frame можно использовать для объединения в группу размещенных в форме и функционально связанных переключателей.
Для настройки внешнего вида элемента управления Frame применяются свойства, указанные в табл.2.
Таблица 2. Свойства элемента управления Frame
Свойство | Назначение |
Appearance | Свойство может принимать значения 0-Flat или 1-3D, задающие плоский или объемный вид рамки |
BorderStyle | Определяет, будет ли вокруг группы присутствовать рамка. Может принимать значения 0-None (рамка и ее заголовок отсутствуют) и 1-Fixed Single (рамка присутствует) |
Caption | Определяет текст, располагающийся в левом верхнем углу рамки. Если из свойства удалить текст, то группа будет объединена сплошной рамкой |
Пример программы
Создать проект, позволяющий реализовать циклический алгоритм 3-мя способами (регулярный цикл, цикл с предусловием, цикл с постусловием).
В проекте организовать выбор способа решения при помощи переключателей (Элемент управления .Option).
Для реализации выбранного варианта нужно обработать событие
If Optionk.value=True then
операторы
end if
Программа проверяет состояние переключателей. Если переключатель с соответствующим номером k включен, то условие Option.Value=True истинно и будут выполнены все операторы, вошедшие в блок If / End if
Выполнив двойной щелчок на любом переключателе, в появившемся окне программного кода введем следующий текст:
Данные программы предназначены для того, что при выборе переключателя поле для вывода результата и надпись к нему автоматически очищались.
Для события Command1_Click() введем следующую программу
Private Sub Command1_Click()
Y1 = Val(Text1.Text)
yh = Val(Text2.Text)
y = Y1
If Option1 = True Then
Label13 = "цикл с параметром"
d = 1
For k = 1 To 37 Step 2
d = d * (y + 2.3)
y = y + yh
Next k
End If
If Option2 = True Then
Label13 = "цикл с предусловием"
k = 1
d = 1
Do While k <= 37
d = d * (y + 2.3)
y = y + yh
k = k + 2
Loop
End If
If Option3 = True Then
Label13 = "цикл с постусловием"
d = 1
k = 1
Do
d = d * (y + 2.3)
y = y + yh
k = k + 2
Loop Until k > 37
End If
Label14 = d
End Sub
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Какие виды циклов вы знаете? В чём их различие?
2. Как прервать выполнение цикла до его завершения?
3. Как ввести несколько строк в текстовое поле?
4. Какими свойствами обладает объект ТextBox?
5. Можно ли применить эти свойства для объекта метка?