C# 将节点添加到特定子节点

C# 将节点添加到特定子节点,c#,treeview,C#,Treeview,我可以将节点添加到treeview add方法。但我想将节点添加到特定的子节点。 例如,您希望向node5添加一个节点 |___node0 |___node1 | |___node3 | |___node4 | |___node5 |___node2 我该怎么做? 谢谢。如果您有子节点引用,只需访问其节点集合并将新的子节点添加到其集合中,如下所示 node5.Nodes.Add(New TreeNode("temp")); 基本递归树节点搜索器,

我可以将节点添加到treeview add方法。但我想将节点添加到特定的子节点。 例如,您希望向node5添加一个节点

|___node0
|___node1     
|     |___node3
|     |___node4
|           |___node5
|___node2
我该怎么做?
谢谢。

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

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

基本递归树节点搜索器,在我的头顶。如果你只需要按关键字搜索,WISMAT的答案是最简单的,但是如果你需要通过节点上的数据搜索,你应该考虑这个解决方案,因为你可以用任何你想找到的东西来替换名字搜索。
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;
}

William是对的,但是方法应该是这样的:

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;
        }
经过测试,效果很好


干杯

我不明白。我是如何使用这个方法的?这个方法给了我什么?请帮助我了解详细信息。感谢alot.TreeNode node=FindNode(TreeView.Nodes[0],“node5”),我必须将我的add语句设置为
tn[0].Nodes.add(node)
,才能让它工作。编辑上面的答案以反映。谢谢你的回答!
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;
        }