两个问题:
1、求个方法删除所选节点,若所选节点有子节点,则一并删除。
2、添加节点的时候,如果判断所选节点的子节点和所添加的是否有同名。

解决方案 »

  1.   

    TreeNode有key项,就是Name,和Text是不一样的
    用这个做标示
      

  2.   

    试试public void DeleteAllNodes(TreeView tree) {
                if (tree!= null) {
                    int count = tree.Nodes.Count;
                    for (int i = 0; i < count; i++) {
                        TreeNode node = tree.Nodes[0];
                        if (node.ChildNodes.Count > 0)
                            DeleteChildNodes(node);                    
                    }
                    tree.Nodes.Clear();
                }
            }
            private void DeleteChildNodes(TreeNode Node) {
                int count = Node.ChildNodes.Count;
                if (Node != null) {
                    for (int i = 0; i < count; i++) {
                        TreeNode node = Node.ChildNodes[0];
                        if (node.ChildNodes.Count > 0)
                            DeleteChildNodes(node);
                    }
                    Node.ChildNodes.Clear();
                }
            }