在上图中,“ug(用户组)”是checkedlistbox中的一行,其enabled属性为false。如何在禁用状态下取消选中“ug(用户组)”。
答案 0 :(得分:1)
您可以轻松使用
checkedListBox1.SetItemChecked(2, false);
或
checkedListBox1.SetItemCheckState(2, CheckState.Unhecked);
Enabled
的{{1}}属性对项目或这两种方法的检查状态没有影响。
MSDN链接:
更新:禁用CheckedListBox
中的单个项目而不是禁用整个控件是不可能的。
如果您想阻止用户更改一个特殊项目的检查状态,您需要订阅CheckedListBox
的{{1}}事件:
ItemCheck
在项目的检查状态发生变化之前,会触发此事件。 CheckedListBox
是checkedListBox1.ItemCheck += (sender, e) =>
{
if (e.Index == 2)
e.NewValue = CheckState.Unchecked;
}
,其中包含项目e
,其当前检查状态(ItemCheckEventArgs
)以及之后应具有的检查状态({{1} })。
因此设置Index
会阻止用户再次检查该项目。