我可以将一个节点添加到树视图添加方法。但是我想将节点添加到特定的子节点。 例如,想要将节点添加到node5
|___node0
|___node1
| |___node3
| |___node4
| |___node5
|___node2
我该怎么做? 感谢。
答案 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;
}
测试了这个并且工作得很好,
干杯!