天天看点

C# checkBox控件CheckedChanged与CheckedStateChanged区别

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事件。

C# checkBox控件CheckedChanged与CheckedStateChanged区别