if   (e.Node.Nodes.Count   >   0  )   
{   
  foreach(TreeNode   vNode   in   e.Node.Nodes)
{
           vNode.Checked   = e.Node.Checked;   
}
}  

解决方案 »

  1.   


    private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
            {
                TreeNode SelectNode = e.Node;
                int x = SelectNode.Nodes.Count;
                if (x > 0)
                {                bool IsCheck = SelectNode.Checked;                if (IsCheck == true)
                    {
                           foreach (TreeNode Child in SelectNode.Nodes)
                        {
                            Child.Checked = IsCheck;
                            
                        }
                    }
                    else
                    {
                        foreach (TreeNode Child in SelectNode.Nodes)
                        {
                            Child.Checked = IsCheck;
                           
                        }
                    }
                }
                        }
      

  2.   

    我的资源里有一个三种状态的树形控件,满足你的要求。
    http://download.csdn.net/source/315730