2016-07-04 5 views
0

でツリービューのノードを追加します。は、私は、パスでの例を<code>TreeView Node</code>を追加必要なパス

TreeView

そして、私はコードから追加しようとしています:

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

例パス:ノード0 \ノード1 \ Node2 Exノード:テスト

ただし、parentNodeは常にnullを返します。

誰かが私を助けることができますか?

+0

私はtreeView1.Nodes [path]はあなたの思うように動作するとは思わない。これは、ノード上の1つの子ノードの名前/キー/何でもあります。例えば。あなたのスクリーンショットのあなたのtreeview.Nodesプロパティには、 "Node0"と "Node3"という2つの子ノードがあります。 TreeView.Nodes ["Node0"]には "Node1"という子ノードが1つあります。 "Node2"に到達するには、 "var 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); 
    } 
} 

感謝のを!

関連する問題