如何將子節點添加到樹視圖中的特定節點?假設我已經在TreeView中有「Item1」,那麼如何將「SubItem1」添加到「Item1」,因爲它是子節點?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