2016-07-04 139 views
0

添加TreeView节点,我需要的路径,例如添加TreeView Node由路径

TreeView

而且我试图从添加代码:

public void AddParent(string path, string node) 
{ 
    TreeNode parentNode = treeView1.Nodes[path]; 
    if (parentNode != null) 
    { 
     parentNode.Nodes.Add(node); 
    } 
} 

防爆路径:节点0 \节点1 \节点2 Ex节点:测试

但parentNode始终返回null

有人可以帮助我吗?

+0

我不认为treeView1.Nodes [路径]的工作原理如何。它是节点上的一个子节点的名称/键/任何。例如。截图中的treeview.Nodes属性有两个名为“Node0”和“Node3”的子节点。但是treeview.Nodes [“Node0”]有一个名为“Node1”的子节点。 “node2”=“treeView1.Nodes [”Node0“]。节点[”Node1“]。节点[”Node2“];” –

回答

0

我解决我的问题

首先校验节点:

public void AddParent(string path, string node) 
{ 
    foreach (TreeNode tnode in treeView1.Nodes) 
    { 
     if (tnode.FullPath == path) 
     { 
      tnode.Nodes.Add(node); 
      break; 
     } 

     checkChildren(tnode, path, node); 
    } 

    treeView1.ExpandAll(); 
} 

后,检查孩子们的。

public void checkChildren(TreeNode original, string path, string node) 
{ 
    foreach (TreeNode tnode in original.Nodes) 
    { 
     if (tnode.FullPath == path) 
     { 
      tnode.Nodes.Add(node); 
      break; 
     } 

     checkChildren(tnode, path, node); 
    } 
} 

感谢的!