Элемент CheckBox или флажок предназначен для установки одного из двух значений: отмечен или не отмечен. Чтобы отметить флажок, надо установить
у его свойства Checked значение true
.
Кроме свойства Checked
у элемента CheckBox имеется свойство CheckState, которое позволяет задать для флажка
одно из трех состояний - Checked (отмечен), Indeterminate (флажок не определен - отмечен, но находится в неактивном состоянии) и Unchecked (не отмечен)
Также следует отметить свойство AutoCheck
- если оно имеет значение false
, то мы не можем изменять состояние флажка.
По умолчанию оно имеет значение true
.
При изменении состояния флажка он генерирует событие CheckedChanged. Обрабатывая это событие, мы можем получать измененный флажок и производить определенные действия:
private void checkBox_CheckedChanged(object sender, EventArgs e) { CheckBox checkBox = (CheckBox)sender; // приводим отправителя к элементу типа CheckBox if (checkBox.Checked == true) { MessageBox.Show("Флажок " + checkBox.Text + " теперь отмечен"); } else { MessageBox.Show("Флажок " + checkBox.Text + " теперь не отмечен"); } }
На элемент CheckBox похож элемент RadioButton или переключатель. Переключатели располагаются группами, и включение одного переключателя означает отключение всех остальных.
Чтобы установить у переключателя включенное состояние, надо присвоить его свойству Checked
значение true
.
Для создания группы переключателей, из которых можно бы было выбирать, надо поместить несколько переключателей в какой-нибудь контейнер, например, в элементы GroupBox или Panel. Переключатели. находящиеся в разных контейнерах, будут относиться к разным группам:
Похожим образом мы можем перехватывать переключение переключателей в группе, обрабатывая событие CheckedChanged
.
Связав каждый переключатель группы с одним обработчиком данного события, мы сможем получить тот переключатель, который в данный момент выбран:
private void radioButton_CheckedChanged(object sender, EventArgs e) { // приводим отправителя к элементу типа RadioButton RadioButton radioButton = (RadioButton)sender; if (radioButton.Checked) { MessageBox.Show("Вы выбрали " + radioButton.Text); } }