(急!用C#)多个checkboxlist控件的互动!

xiaohuan_0606 2008-12-06 09:59:50
问大家一个问题,假如现在有四个checkboxlist控件,checkboxlist1,checkboxlist2,checkboxlist3,checkboxlist4,当我选中checkboxlist1中的某一项时,则其它的三个checkboxlist控件里的所有项也都被选中,请问怎么去实现呢?(说明:checkboxlist2是checkboxlist1下一级,checkboxlist3是checkboxlist2下一级,checkboxlist4是checkboxlist3下一级,就相当于Treeviwe节点与了节点的关系!)
...全文
88 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nmfengyun 2008-12-06
  • 打赏
  • 举报
回复
我刚看了一下这个控件,有点想法,如下:
用checkedListBox1.SelectedItem.ToString()得到checkedListBox1所选的值.
用循环处理其他控件的选中情况:
int maxcount=checkedListBox2.Items.Count;
for (int i = 0; i < maxcount; i++)
{
checkedListBox2.SetItemChecked(i, true);//选中所有项
}
nmfengyun 2008-12-06
  • 打赏
  • 举报
回复
LZ,问一下,你单击checkboxlist控件某一项时,选中此项的属性是什么?
有没有Checked?
bloodish 2008-12-06
  • 打赏
  • 举报
回复

//用一个List保存所有的CheckListBox
private List<CheckedListBox> clbList;
clbList = new List<CheckedListBox>();
//将相关的CheckedListBox添加到List中
clbList.AddRange(new CheckedListBox[] { checkedListBox1, checkedListBox2, checkedListBox3, checkedListBox4 });
//注册每个CheckedListBox的ItemCheck事件
foreach (CheckedListBox clb in clbList)
{
clb.ItemCheck += this.OnItemCheck;
}


private void OnItemCheck(object sender, ItemCheckEventArgs e)
{
CheckedListBox clb = sender as CheckedListBox;
//找到当前的CheckListBox在List中的位置
int index = clbList.IndexOf(clb);

//从最后一个CheckedListBox开始设置check状态
for (int i = clbList.Count - 1; i > index; i--)
{
clb = clbList[i];
//先注销事件是为了防止OnItemCheck被重复调用
clb.ItemCheck -= this.OnItemCheck;
//设置状态
for (int j = 0; j < clb.Items.Count; j++)
{
clb.SetItemChecked(j, true);
}
//重新注册ItemCheck时间
clb.ItemCheck += this.OnItemCheck;
}
}


nmfengyun 2008-12-06
  • 打赏
  • 举报
回复
我目前没用过,不过应该用分组可以解决.将四个控件分到同一组,像java那样.
xiaohuan_0606 2008-12-06
  • 打赏
  • 举报
回复
怎么private List<CheckedListBox> clbList;在我的电脑上打不出来呢?clbList打点不出现它对相关的属性和方法呢?我引用了using System.Collections.Generic;命令集,可是还是不行啊!
xiaohuan_0606 2008-12-06
  • 打赏
  • 举报
回复
请问您,checkboxlist这个控件能不能这样处理呢?当我第一次选时,它前面的钩不去掉!当我第二次选时,它的前面的钩就去掉!
xiaohuan_0606 2008-12-06
  • 打赏
  • 举报
回复
楼上的这位朋友,那你怎么在去获取当前的CheckBoxList 当前选择项的索引值呢?

110,549

社区成员

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

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

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