高分求WinForm中的CheckedListBox禁用某项

legendlovehao 2012-05-25 08:04:50
将某项给禁用,能区别于其他项。
使用CheckState.Indeterminate可以灰掉,但是那个勾选后我控制不了控件的状态了,初始化还是选中的

checkedListBox3.SetItemChecked(6, false);
checkedListBox3.SetItemChecked(7, false);
//方法一
//if (k == 6)
//{
// CheckBox c = checkedListBox1.Items[k] as CheckBox;
// c.Enabled = false;
//}

方法二
checkedListBox3.SetItemCheckState(6, CheckState.Indeterminate);
checkedListBox3.SetItemCheckState(7, CheckState.Indeterminate);

方法一: 不成功 找不到对象
方法二:禁灰成功 可是操作后 初始化状态是选中的 我操作不了这俩个值得选中状态
网上找基本都是没有解决! 朋友们解惑下!!
...全文
193 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
风之影子 2012-05-27
  • 打赏
  • 举报
回复
禁灰成功 可是操作后 初始化状态是选中的 我操作不了这俩个值得选中状态

即然想尽用为什么还要操作选中状态呢?
legendlovehao 2012-05-26
  • 打赏
  • 举报
回复
再次问下 有没遇到过此类问题的朋友!!! 在线等!
legendlovehao 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
C# code


//可以在ItemCheck中处理,类似禁用,只是不是灰色而已
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (this.checkedListBox1.SelectedIndex == 0)
……
[/Quote]
不行呢 我也是这么写的

//if (e.CurrentValue == CheckState.Indeterminate)
//{
// //e.NewValue = e.CurrentValue;
// e.NewValue = CheckState.Indeterminate;
//}

没效果 用你的方法之后 不能禁用了
我需要的效果是 这俩个选项禁用 选中状态我要可以控制才可以
没有遇到过这种状况的人嘛?
人生无悔 2012-05-25
  • 打赏
  • 举报
回复

//可以在ItemCheck中处理,类似禁用,只是不是灰色而已
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (this.checkedListBox1.SelectedIndex == 0)
{
e.NewValue = e.CurrentValue;
}
}

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧