Практическое руководство. Обработка события щелчка элемента управления CheckBox в Windows Forms

Всякий раз, когда пользователь щелкает элемент управления Windows Forms CheckBox, происходит событие Click. Вы можете запрограммировать приложение для выполнения некоторых действий в зависимости от состояния флажка.

Реагирование на нажатия CheckBox

  1. В обработчике событий Click используйте свойство Checked для определения состояния элемента управления и выполнения любых необходимых действий.

    Private Sub CheckBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.Click  
       ' The CheckBox control's Text property is changed each time the
       ' control is clicked, indicating a checked or unchecked state.  
       If CheckBox1.Checked = True Then  
          CheckBox1.Text = "Checked"  
       Else  
          CheckBox1.Text = "Unchecked"  
       End If  
    End Sub  
    
    private void checkBox1_Click(object sender, System.EventArgs e)  
    {  
       // The CheckBox control's Text property is changed each time the
       // control is clicked, indicating a checked or unchecked state.  
       if (checkBox1.Checked)  
       {  
          checkBox1.Text = "Checked";  
       }  
       else  
       {  
          checkBox1.Text = "Unchecked";  
       }  
    }  
    
    private:  
       void checkBox1_CheckedChanged(System::Object ^ sender,  
          System::EventArgs ^ e)  
       {  
          if (checkBox1->Checked)  
          {  
             checkBox1->Text = "Checked";  
          }  
          else  
          {  
             checkBox1->Text = "Unchecked";  
          }  
       }  
    

    Примечание

    Если пользователь пытается дважды щелкнуть элемент управления CheckBox, каждый щелчок будет обрабатываться отдельно. То есть элемент управления CheckBox не поддерживает событие двойного щелчка.

    Примечание

    Если свойство AutoCheck имеет значение true (по умолчанию), CheckBox автоматически выбирается или очищается при щелчке. В противном случае необходимо вручную задать свойство Checked при возникновении события Click.

    Вы также можете использовать элемент управления CheckBox для определения хода действий.

Определение хода действий при нажатии флажка

  1. Используйте оператор case для запроса значения свойства CheckState, чтобы определить ход действия. Если для свойства ThreeState задано значениеtrue, свойство CheckState может возвращать три возможных значения: установленный флажок, неустановленный флажок и неопределенное состояние, в котором поле затемнено, потому что вариант недоступен.

    Private Sub CheckBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.Click  
       Select Case CheckBox1.CheckState  
          Case CheckState.Checked  
             ' Code for checked state.  
          Case CheckState.Unchecked  
             ' Code for unchecked state.  
          Case CheckState.Indeterminate  
             ' Code for indeterminate state.  
       End Select
    End Sub  
    
    private void checkBox1_Click(object sender, System.EventArgs e)  
    {  
       switch(checkBox1.CheckState)  
       {  
          case CheckState.Checked:  
             // Code for checked state.  
             break;  
          case CheckState.Unchecked:  
             // Code for unchecked state.  
             break;  
          case CheckState.Indeterminate:  
             // Code for indeterminate state.  
             break;  
       }  
    }  
    
    private:  
       void checkBox1_CheckedChanged(System::Object ^ sender,  
          System::EventArgs ^ e)  
       {  
          switch(checkBox1->CheckState) {  
             case CheckState::Checked:  
                // Code for checked state.  
                break;  
             case CheckState::Unchecked:  
                // Code for unchecked state.  
                break;  
             case CheckState::Indeterminate:  
                // Code for indeterminate state.  
                break;  
          }  
       }  
    

    Примечание

    Если свойству ThreeState присвоено значение true, свойство Checked возвращает true для Checked и Indeterminate.

См. также раздел