Элемент RadioButton
Элемент RadioButton
Элемент управления RadioButton позволяет создавать переключатели, объединенные в группы. Вся группа переключателей должна располагаться в контейнере. Примером такого контейнера может служить сама форма, но чаще используется элемент Panel.
Когда пользователь выбирает один переключатель, то остальные переключатели в контейнере автоматически переводятся в выключенное состояние. Приложение может иметь несколько групп элементов RadioButton. В любом случае группы переключателей не зависят друг от друга.
При изменении состояния переключателя в классе RadioButton инициируются события Click и CheckedChanged. Событие Click возникает, когда пользователь щелкает стилусом на самом переключателе. Событие CheckedChanged возникает, когда состояние элемента RadioButton меняется программно или в результате действий пользователя. Событие Click не инициируется, когда свойство CheckedChanged меняется программно.
Для демонстрации примера работы с элементом RadioButton можно создать аналог популярной телеигры «Кто хочет стать миллионером?». На экране будет отображаться вопрос, а пользователь должен выбрать из представленных вариантов единственный правильный ответ. Код, реализующий основную функциональность приложения, приведен в листинге 3.3.
Листинг 3.3
private void radClub1_CheckedChanged(object sender, EventArgs e) {
if (this.radClub1.Checked)
MessageBox.Show("Увы, вы проиграли", "Ошибка!");
}
private void radClub2_CheckedChanged(object sender, EventArgs e) {
if (this.radClub2.Checked)
MessageBox.Show("Поздравляю! Вы выиграли миллион!", "Миллион!");
}
private void radClub3_CheckedChanged(object sender. EventArgs e) {
if (this.radClub3.Checked)
MessageBox.Show("Увы, вы проиграли", "Ошибка!");
}
private void radClub4_CheckedChanged(object sender. EventArgs e) {
if (this.radClub4.Checked)
MessageBox.Show ("Увы, вы проиграли", "Ошибка!");
}
На рис. 3.4 показан внешний вид этого приложения.
Рис. 3.4. Демонстрация работы независимых переключателей
В полной версии .NET Framework в качестве контейнера для переключателей часто используется элемент GroupBox, который на данный момент не поддерживается в библиотеке .NET Compact Framework. Также не поддерживаются некоторые свойства, к которым относятся Appearance, Image и ImageList.