CheckedChanged:
当Checked属性的值更改时就引发该事件。注意在复选框中,当ThreeState属性为true时,单击复选框可能不会改变Checked属性。在复选框从Checked变为Indeterminate状态时,就会出现这种情况。
小注:
ThreeState属性:用来返回或设置复选框是否能表示三种状态,如果属性值为true时,表示可以表示:三种状态—选中、没选中和中间态(CheckState.Checked、CheckState.Unchecked和CheckState.Indeterminate),属性值为false时,只能表示两种状态——选中和没选中。
Checked属性:用来设置或返回复选框是否被选中,值为true时,表示复选框被选中,值为false时,表示复选框没被选中。当ThreeState属性值为true时,中间态也表示选中。
CheckState 属性:用来设置或返回复选框的状态。在 ThreeState 属性值为 false 时,取值有CheckState.Checked或CheckState.Unchecked。在ThreeState属性值被设置为True时,CheckState还可以取值CheckState.Indeterminate,在此时,复选框显示为浅灰色选中状态,该状态通常表示该选项下的多个子选项未完全选中。
CheckedStateChanged:
当CheckedState属性改变时,引发该事件。CheckedState属性的值可以是Checked 和 Unchecked。只要Checked属性改变了,就引发该事件。另外,当状态从Checked变为Indeterminate时,也会引发该事件。
对于同一个CheckBox 控件而言,进入checkBox1_CheckedChanged(object sender,EventArgse)与checkBox1_CheckStateChanged(objectsender,EventArgs e)的顺序是:先进入CheckedChanged事件,再进入CheckStateChanged事件。