Свойства элемента Переключатель

Таблица 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. Можно ли применить эти свойства для объекта метка?