繁体   English   中英

如何在c#winforms中取消选中禁用的清单框?

[英]How to uncheck disabled checkedlistbox in c# winforms?

在此处输入图片说明

在上图中,“ ug(User Group)”是一个选中列表框中的一行,其中enabled属性设置为false。 如何在禁用状态下取消选中“ ug(User Group)”。

您可以轻松使用

checkedListBox1.SetItemChecked(2, false);

要么

checkedListBox1.SetItemCheckState(2, CheckState.Unhecked);

CheckedListBoxEnabled属性对项目或这两种方法的检查状态没有影响。


MSDN链接:


更新:不能立即禁用CheckedListBox的单个项目,而不是禁用整个控件。

如果要防止用户更改一项特殊项目的检查状态,则需要订阅CheckedListBoxItemCheck事件:

checkedListBox1.ItemCheck += (sender, e) =>
{
    if (e.Index == 2)
        e.NewValue = CheckState.Unchecked;
}

在项目的检查状态更改之前会触发此事件。 e是一个ItemCheckEventArgs ,其中包含项目的Index ,其当前检查状态( CurrentValue )和其后应具有的检查状态( NewValue )。

因此,设置e.NewValue = CheckState.Unchecked可以防止用户再次检查该项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM