Приложение ⇒ проект options-r.rar
Занятие 21. Переключатели (RadioButton) и флажки (CheckBox)
Для реализации ветвления в проекте можно использовать такие элементы управления, как переключатели и флажки. Работая с текстовыми и графическими редакторами, редактором презентаций, другими программами, вы неоднократно видели, что:
- при выборе переключателя внутри появляется метка
- при выборе флажка - метка .
Напомним:
- из группы переключателей может быть выбран только один,
- а в группе флажков метка может быть установлена либо на одном из них, либо на нескольких, либо ни на одном.
Итог переключатели (RadioButton) • переключатели используются тогда, когда нужно выбрать один и только один вариант действий из нескольких возможных; Например, установить для определенного свойства объекта одно значение из некоторого определенного набора значений. |
Итог флажки (CheckBox) Например, установить значение одного или нескольких свойств объекта. |
Переключатель и флажок имеют большинство свойств, которые мы рассматривали для формы, поля, кнопки и надписи, и еще некоторые, среди которых рассмотрим свойство Checked (англ. checked - выбранный).
Оно может принимать одно из двух значений True или False и определяет, установлена метка в данном объекте или нет (выбран этот объект или нет). Поэтому значение этого свойства можно использовать в команде ветвления вместо логического выражения
Рассмотрим, как можно использовать переключатели (RadioButton) для реализации ветвления в проекте.
Пример 1. Требуется создать проект, в ходе исполнения которого будет изменяться значение только одного из таких свойств формы:
- либо заголовок,
- либо цвет,
- либо размеры.
Интерфейс проекта.
Интерфейс проекта. | Блок - схема проекта |
- При размещении переключателей на форме для каждого из них по умолчанию устанавливается значение свойства Checked ⇒ False.
- До запуска проекта изменим в первом переключателе значение этого свойства на True. После этого на форме он будет выглядеть выбранным (см.рис.). Таким он будет и после запуска проекта на исполнение.
Программный код для события Button1_Click (изменить)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Else : Me.Width = Me.Width + 100 : Me.Height = Me.Height + 100 |
1. Начинаться выполнение этой команды будет с определения значения свойства RadioButton1.Checked:
-
если при наступлении события Button1_Click кнопки выбранным будет первый переключатель, тоRadioButton1.Checked = true; поэтому выполнится команда изменения заголовка формы, а другие части всей этой команды выполняться не будут.
-
если при наступлении события Button1_Click кнопки выбранным будет второй переключатель, то RadioButton1.Checked = false, поэтому будут выполняться команды после первого ключевого слова Else, то есть внутренняя команда ветвления. Во время ее выполнения определяется значение свойства RadioButton2.Checked. Поскольку выбран второй переключатель, то это значение равно true. Поэтому выполнится команда изменения цвета формы, а другие части команды выполняться не будут.
-
если же при наступлении события Button1_Click кнопки выбранным будет третий переключатель, то RadioButton1.Checked = false; поэтому будут выполняться команды после первого ключевого слова Else, то есть внутренняя команда ветвления. При ее выполнении определяется значение свойства RadioButton2.Checked. Поскольку второй переключатель не выбран, то его значение false. Тогда будут выполняться команды после второго ключевого слова Else, то есть две команды изменения размеров формы.
PS !!!
1. Если перед запуском проекта на выполнение ни у одного переключателя не изменять значение свойства Checked , установленное по умолчанию ( т.е. false на true), то при запуске проекта ни один из них не будет выбранным.
2. Если и во время исполнения проекта не выбрать ни один из переключателей и выбрать кнопку, то изменятся размеры формы (подумайте самостоятельно, почему произойдут именно такие изменения). Чтобы этого не произошло, нужно либо обязательно выбирать один из переключателей, либо после второго ключевого слова Else вставить еще одну команду ветвления:
If RadioButton1.Checked Then End If |
Поясните, как будет выполняться эта команда, если ни один из переключателей не будет выбран.
Программный код для события Button2_Click (восстановить)
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Text = "переключатели" End Sub |
Пример 2 Создайте проект, с помощью которого можно устанавливать один из трех цветов для цвета фона формы.
- Создайте новый проект с именем «Выбор цвета».
- Поместите на форму три переключателя и две кнопки
Интерфейс проекта.
Программный код
Вариант 1
Программный код | Блок - схема |
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If RadioButton1.Checked Then Me.BackColor = Color.Red If RadioButton2.Checked Then Me.BackColor = Color.GreenEnd Sub |
Вариант 2.
Программный код | Блок - схема |
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If RadioButton1.Checked Then |
Вариант 3.
Программный код | Блок - схема |
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If RadioButton1.Checked Then Me.BackColor = Color.Red ElseIf RadioButton2.Checked Then Me.BackColor = Color.Green Else : Me.BackColor = Color.Blue End If End Sub |