Ищем событие, которое срабатывает только тогда, когда пользователь проверяет CheckBox - PullRequest
4 голосов
/ 04 ноября 2011

System.Windows.Forms.ComboBox имеет два разных события, которые может обработать программист:

  • SelectionChangeCommitted - событие срабатывает только при изменении пользователем выбранного элемента
  • SelectedIndexChanged - событиетакже возникает, когда выбор изменяется программно

Есть ли что-то похожее для System.Windows.Forms.CheckBox?

Пояснение: я ищу событие для обработки, которое не будет запущено, когдаЯ программно устанавливаю флажок, вызывая оператор, такой как CheckBox.Checked = true.

Ответы [ 3 ]

4 голосов
/ 04 ноября 2011

Просто обработайте событие Click. Каждый раз, когда отмечен флажок, он будет переключен.

    private void checkBox1_Click(object sender, EventArgs e)
    {
        if (((CheckBox)sender).Checked)
        {
            // do stuff
        }
    }
2 голосов
/ 29 июля 2017

Поскольку Control.focused имеет значение true только тогда, когда пользователь щелкнул мышью по элементу управления, вы можете использовать следующий код для ответа только тогда, когда пользователь установит флажок

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
    if(checkBox1.Focused)
    {
        //do ur stuff here
    }
}
1 голос
/ 04 ноября 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...