我遇到一个问题.我在用树形结构控件时,我想点击父结点时及联到子结点也选上.c/s结构的程序.

解决方案 »

  1.   

    用递归...

            private void setNodeChecked(TreeNode tn)
            {
                foreach (TreeNode t in tn.Nodes)
                {
                    t.Checked = tn.Checked;
                    setNodeChecked(t);
                }
            }
      

  2.   

    有楼上的,我就不说了不过最好加个判断:private void setNodeChecked(TreeNode tn)
    {if( tn.Nodes.Count <=0 )//递归的结束条件
    {
    return;
    }
    foreach (TreeNode t in tn.Nodes)
    {
    t.Checked = tn.Checked;
    setNodeChecked(t);
    }
    }
      

  3.   

    本人用了一个递归程序,我想也许对你有用:
    private void CheckNode(TreeNode node)
            {
                if (node.Nodes.Count < 1)
                    return;
                else
                {
                    foreach (TreeNode nodei in node.Nodes)
                    {
                        if (node.Checked == true)
                        {
                            nodei.Checked = true;
                        }
                        else
                        {
                            nodei.Checked = false;
                        }
                        CheckNode(nodei);
                    }
                }
            }