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
*假设空的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。
感谢您的快速回复,但这似乎没有奏效。 – NetInfo 2012-04-01 11:49:52
我已经包含了一个更完整的例子。请让我知道这对你有没有用。如果没有,我们会从那里弄清楚问题所在。 – msigman 2012-04-01 15:51:04
非常感谢所有这些例子,但又一次添加了“祖父”。我想要做的是将“父亲”添加到“祖父”,而不选择它。我已经知道如何在同一时间添加所有三个。对不起,听起来像一个菜鸟。再次感谢。 – NetInfo 2012-04-01 16:37:51