VB.NET如何将子节点添加到树视图中的特定节点

问题描述:

如何将子节点添加到树视图中的特定节点?假设我已经在TreeView中有“Item1”,那么如何将“SubItem1”添加到“Item1”,因为它是子节点?VB.NET如何将子节点添加到树视图中的特定节点

我知道它可能很简单,但我尝试了很多东西,我只是无法让它工作。

添加子节点的父(非选择)

首先使用Find()去的父节点的引用。然后使用与下面其他部分相同的技术添加它。

Dim MyNode() As TreeNode 
MyNode = TreeView1.Nodes.Find("Item1", True) 
MyNode(0).Nodes.Add("SubItem1") 

添加节点编程

如果你想给孩子节点添加到particluar父节点,这个想法是使用parent.node.add()方法将子节点添加到它们的父节点。 你可以像这样创建任意数量的孩子。

例如,如果你想拥有像一个场景:

祖 - >父 - >子

然后,你可以这样做:

dim GrandfatherNOde as treenode = tree.nodes.add("Grandfather") 
dim fatherNode as treenode = GrandfatherNode.Nodes.add("Father") 
dim sonNode as treenode = fatherNode.Nodes.add("Son") 

更多阅读/示例

Thi有一个很好的例子,你可以运行动态添加子节点到树中。他们这样做是一个按钮,他们已经迷上了这样的:

Private Sub AddChild_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddChild.Click 
    TView.SelectedNode.Nodes.Add(Text1.Text) 
End Sub 

http://www.codeproject.com/Articles/11830/The-Basic-Operations-on-using-the-TreeView-Control

+0

感谢您的快速回复,但这似乎没有奏效。 – NetInfo 2012-04-01 11:49:52

+0

我已经包含了一个更完整的例子。请让我知道这对你有没有用。如果没有,我们会从那里弄清楚问题所在。 – msigman 2012-04-01 15:51:04

+0

非常感谢所有这些例子,但又一次添加了“祖父”。我想要做的是将“父亲”添加到“祖父”,而不选择它。我已经知道如何在同一时间添加所有三个。对不起,听起来像一个菜鸟。再次感谢。 – NetInfo 2012-04-01 16:37:51

*假设空的TreeView:

Dim rootNode = TreeView1.Nodes.Add("Root") 

rootNode.Nodes.Add("SubNode") 

如果你确保你分配一个Name到您的TreeNode您可以使用Find来找到它并添加Child节点。

例子:

Public Class Form1 
    Dim Nodes(5) As TreeNode 


    Public Sub New() 

     ' This call is required by the designer. 
     InitializeComponent() 

     ' Add any initialization after the InitializeComponent() call. 

     Nodes(0) = New TreeNode("Root") 
     Nodes(0).Name = "Root" 
     Nodes(1) = New TreeNode("Item1") 
     Nodes(1).Name = "Item1" 
     Nodes(2) = New TreeNode("Item2") 
     Nodes(2).Name = "Item2" 
     Nodes(3) = New TreeNode("Item3") 
     Nodes(3).Name = "Item3" 
     Nodes(4) = New TreeNode("Item4") 
     Nodes(4).Name = "Item4" 
     Nodes(0).Nodes.Add(Nodes(1)) 
     Nodes(0).Nodes.Add(Nodes(2)) 
     Nodes(0).Nodes.Add(Nodes(3)) 
     Nodes(0).Nodes.Add(Nodes(4)) 

    End Sub 

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
     TreeView1.Nodes.Add(Nodes(0)) 
    End Sub 

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 
     Dim tmpNode() As TreeNode = TreeView1.Nodes.Find("Item1", True) 
     'Assuming only one Match 
     tmpNode(0).Nodes.Add("Child Of Item1") 
    End Sub 
End Class 

我一直在寻找同样的事情,当我来到这里,到目前为止,我不能得到我需要的东西。

,所以我就到这个网页:http://www.dotnetspider.com/forum/168335-How-add-node-treeview-VB.NET.aspx

真的很酷,简单的事你给它一个样子了。

事实证明,我们只需要继续键入nodes.add(“nodename”)来继续添加子平面。 Treeview1.Nodes.Add(“Root_1”)。Nodes.Add(“Child_Level_1”)。节点。添加( “Child_Level_2”)

Treeview1.Nodes.Add("Root_1").Nodes.Add("Child_Level_1").Nodes.Add("Child_Level_2") 

这会得到这样的:

http://img716.imageshack.us/img716/7254/semttulonzk.jpg

希望它帮助; d。