将节点添加到特定子节点

时间:2010-12-08 06:39:01

标签: c# treeview

我可以将一个节点添加到树视图添加方法。但是我想将节点添加到特定的子节点。 例如,想要将节点添加到node5

|___node0
|___node1     
|     |___node3
|     |___node4
|           |___node5
|___node2

我该怎么做? 感谢。

4 个答案:

答案 0 :(得分:5)

TreeNode[] tn = treeView.Nodes[0].Nodes.Find(search.Text, true);
if (tn.Count>0) 
   tn[0].Nodes.Add(node);
else
   //handle node not found

答案 1 :(得分:3)

如果您有子节点引用,则只需访问其节点集合并将新子节点添加到其集合中,如下所示

node5.Nodes.Add(New TreeNode("temp"));

答案 2 :(得分:1)

基本的递归树节点搜索器,我的头顶。如果您只需要按键搜索,weismat的答案是最简单的,但是如果您需要搜索节点上的数据,您应该考虑这个解决方案,因为您可以用您可能想要找到的任何内容替换名称搜索。

private TreeNode FindNode(TreeNode root, String name)
{
    foreach (TreeNode node in root.Nodes)
    {
        if (node.Nodes.Count > 0)
            return FindNode(root, name);
        if (node.Name == name)
            return node;
    }
    return null;
}

答案 3 :(得分:0)

威廉是对的,但方法应如下所示:

private TreeNode FindNode(TreeNode root, String name)
        {
            foreach (TreeNode node in root.Nodes)
            {
                if (node.Name == name)
                    return node;
                else
                {
                    if (node.Nodes.Count > 0)
                        return FindNode(node, name);
                }
            }
            return null;
        }

测试了这个并且工作得很好,

干杯!