如何在树状视图中添加子节点到特定节点?假设已经在树状视图中有了"Item1",那么如何将"SubItem1"作为它的子节点添加到"Item1"?
我知道这可能非常简单,但是我尝试了很多方法,但一直无法让它工作。
我知道这可能非常简单,但是我尝试了很多方法,但一直无法让它工作。
首先使用Find()
获取对父节点的引用,然后使用与下面其他部分相同的技术进行添加。
Dim MyNode() As TreeNode
MyNode = TreeView1.Nodes.Find("Item1", True)
MyNode(0).Nodes.Add("SubItem1")
如果你想将子节点添加到特定的父节点,可以使用 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")
这个页面有一个很好的例子,你可以运行它来动态地向树中添加子节点。他们是通过按钮来实现的,像这样进行连接:
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
的基本操作介绍了如何使用树形控件。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
Treeview1.Nodes.Add("Root_1").Nodes.Add("Child_Level_1").Nodes.Add("Child_Level_2")
*假设TreeView为空:
Dim rootNode = TreeView1.Nodes.Add("Root")
rootNode.Nodes.Add("SubNode")