如图:控件treeView1  下面是父节点选中的事件  
    private void treeView1_BeforeCheck(object sender, TreeViewCancelEventArgs e)
        {
                foreach (TreeNode node in e.Node.Nodes)
                {
                    node.Checked = true;
                }
        }
我想实现的效果是  选中父节点那么子节点就全选中,但是我选中了父节点然后又不选这个父节点,而这个时候子节点应该为不选中状态  这种效果要怎么实现?

解决方案 »

  1.   

    你这都可以实现选中了,那么在你这个事件里面判断下父节点是选中还是未选中  之后来给子节点赋值fales还是ture应该就可以了吧
      

  2.   

    我知道,就是不知从何下手来判断这父节点,不是很懂你的意思,if(treeview.checked)可以判断吗?我这里不好测试。。
      

  3.   

    写到AfterCheck里去吧,e.Node.Checked就可以知道是选中还是取消选中了。
      

  4.   


     if (e.Node.Checked)
                {
                    foreach (TreeNode node in e.Node.Nodes)
                    {
                        node.Checked = false;
                    }
                }
                else
                {
                    foreach (TreeNode node in e.Node.Nodes)
                    {
                        node.Checked = true;
                    }
                }
    这样就行了
      

  5.   

    http://www.360doc.com/content/13/0517/11/7622695_286061506.shtml