编程语言
首页 > 编程语言> > c# – CheckedListBox中的uncheckable项目?

c# – CheckedListBox中的uncheckable项目?

作者:互联网

在.NET框架中,是否可以将CheckedListBox中的某些项设置为“uncheckable”?我不想让用户再次检查相同的项目并将它们添加到另一个现有列表中.

我希望我很清楚.
提前致谢.

解决方法:

我会在代码中将这些项设置为“Indeterminate”,然后在用户尝试检查/取消选中时覆盖ItemCheck事件中的“NewValue”属性:

public Form1()
{
    InitializeComponent();
    checkedListBox1.Items.Add("Can't check me", CheckState.Indeterminate);
}

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
    if (e.CurrentValue == CheckState.Indeterminate)
    {
        e.NewValue = CheckState.Indeterminate;
    }
}

无法修改CheckedListBox中的“无法检查我”项,因为每次用户尝试检查/取消选中它时,事件处理程序都会将其更改回来.您甚至没有相应地看到UI更新.

标签:c,list,checkedlistbox
来源: https://codeday.me/bug/20190607/1193251.html