Windows Form CheckBox
управляйте реализует обоих CheckedChanged
и CheckStateChanged
события. Насколько я могу сказать, оба огня, когда проверенное состояние флажка изменяется.
CheckedChanged
предшествует CheckStateChanged
, но кроме этого я не вижу различия. Я пропускаю что-то? Нужно быть предпочтен по другому?
Думаю, это связано с флажками с тремя состояниями. Это кишки установщика CheckState:
if (this.checkState != value)
{
bool flag = this.Checked;
this.checkState = value;
if (base.IsHandleCreated)
{
base.SendMessage(0xf1, (int) this.checkState, 0);
}
if (flag != this.Checked)
{
this.OnCheckedChanged(EventArgs.Empty);
}
this.OnCheckStateChanged(EventArgs.Empty);
}
CheckState (и, следовательно, CheckStateChanged) позволяют использовать флажок, который может иметь три значения: он может быть отмечен, не отмечен или «неопределенный», то есть для него ThreeState установлено значение true.
Если вы не используете ThreeState, тогда вам понадобится CheckedChanged.