Добавление узлов к определенному родительскому узлу в treeView (c #) - PullRequest
1 голос
/ 14 января 2012

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

 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);
                }

1 Ответ

4 голосов
/ 14 января 2012

Вы можете искать элемент управления 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 (tn1) в представлении дерева, созданном выше, используйте следующий код:

// 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);

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...