2012-01-14 5 views
1

В настоящее время я добавляю различные значения родительскому узлу в treeView, хотя я не могу узнать, как добавить к определенному узлу под деревом, на момент он просто добавляет к «выбранному узлу»Добавление узлов к определенному родительскому узлу в treeView (C#)

using (var reader = File.OpenText("Configuration.ini")) 
      { 
       List<string> hostnames = ParseExternalHosts(reader).ToList(); 
       foreach (string s in hostnames) 
       { 
        TreeNode newNode = new TreeNode(s); 
        hostView.SelectedNode.Nodes.Add(newNode); 
       } 
+0

Что вы хотите сделать? Дайте нам пример того, чего вы ожидаете. – ken2k

ответ

4

Вы можете найти управление TreeView для конкретного узла с помощью метода TreeView.Nodes.Find().

В приведенном ниже примере сначала добавляются два узла в элемент управления TreeView, определяющий имя (= ключ) для каждого узла.

const string nodeKey = "hostNode"; 

TreeNode tn1 = new TreeNode("My Node"); 
tn1.Name = nodeKey; // This is the name (=key) for the node. 

TreeNode tn2 = new TreeNode("My Node2"); 
tn2.Name = "otherKey"; // This is the key for node 2. 

treeView1.Nodes.Add(tn1); // Add node1. 
treeView1.Nodes.Add(tn2); // Add node2. 

Тогда искать скажем node1 (ТС1) в виде дерева, созданного выше, используйте следующий код:

// Find node by name (=key). Use the key specified above for tn1. 
// If key is not unique you will get more than one node here. 
TreeNode[] found = treeView1.Nodes.Find(nodeKey, true); 

// Do something with the found node - e.g. add just another node to the found node. 
TreeNode newChild = new TreeNode("A Child"); 
newChild.Name = "newChild"; 

found[0].Nodes.Add(newChild); 

Надежда, это помогает.