简体   繁体   English

将节点添加到treeView中的特定父节点(C#)

[英]Adding nodes to a specific parent node in a treeView (c#)

I am currently adding various values to a parent node in a treeView, although I can't find out how to add to a specific node under the tree, at the moment it simply adds to the "selected node" 我目前正在将各种值添加到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);
                }

You can search the TreeView control for a specific node by using the TreeView.Nodes.Find() method. 您可以使用TreeView.Nodes.Find()方法在TreeView控件中搜索特定节点。

The example below first adds two nodes to a TreeView control specifing a name (=key) for each node. 下面的示例首先将两个节点添加到TreeView控件中,并为每个节点指定名称(= key)。

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.

Then, to search for say node1 (tn1) in the tree view created above use the following code: 然后,要在上面创建的树视图中搜索“ 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);

Hope, this helps. 希望这可以帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM