问大家一个问题,假如现在有四个checkboxlist控件,checkboxlist1,checkboxlist2,checkboxlist3,checkboxlist4,当我选中checkboxlist1中的某一项时,则其它的三个checkboxlist控件里的所有项也都被选中,请问怎么去实现呢?(说明:checkboxlist2是checkboxlist1下一级,checkboxlist3是checkboxlist2下一级,checkboxlist4是checkboxlist3下一级,就相当于Treeviwe节点与了节点的关系!)
解决方案 »
- 怎么设置MDi中clild窗体启动时的位置?
- 将一个程序改为相关程序该如何下手?
- 在.net2003的winform里,如何设置dagagrid中的某一行的背景或前景颜色为红色?
- 定义个结构体,里面含有字节数组,将结构体实例化后,再实例化其中的字节数组,然后不管字节数组长度设多少,Marshal.SizeOf(结构名)始终字节数组长度为4
- com+注册的问题
- 同一个form里进程冲突,如何解决
- 求教unicode转码终极解决方案
- 如何实现dataGrid中当前行(currentRow)改变时触发事件??好像dataGrid没有这个事件啊??
- 关于Oracle长字符串的问题。
- 如何在不同文件中保存同一个类的代码?
- 简单的工具栏代码
- 用OWC生成折线图的时候,怎样去掉节点和控制线条颜色。
//用一个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;
}
}
有没有Checked?
用checkedListBox1.SelectedItem.ToString()得到checkedListBox1所选的值.
用循环处理其他控件的选中情况:
int maxcount=checkedListBox2.Items.Count;
for (int i = 0; i < maxcount; i++)
{
checkedListBox2.SetItemChecked(i, true);//选中所有项
}