WINFROM有两个控件,一个Treeview1,一个Button1,Treeview1已经设置checkbox为true,有两个问题:
1、如何控制Treeview1中checkbox选中项不超过6个?
2、如何通过点击button1获得当前treeview所有checkbox选中的节点值?

解决方案 »

  1.   

    控制最多6个Checked的节点
    nodes 里有你要的所有选中节点,按先进先出原则控制节点的Checked状态.            List<TreeNode> nodes = new List<TreeNode>();
                const int nodeLimit = 6;
                TreeView tv = new TreeView();
                tv.AfterCheck += (s, e) =>
                    {
                        if (e.Node.Checked)
                        {
                            if (nodes.Count == nodeLimit)
                            {
                                TreeNode node = nodes[0];
                                node.Checked = false;
                            }
                            nodes.Add(e.Node);
                        }
                        else
                        {
                            if (nodes.Contains(e.Node))
                            {
                                nodes.Remove(e.Node);
                            }
                        }
                    };