将TReeView节点移动到根节点(包含所有)Vb.net

时间:2011-04-01 23:11:32

标签: vb.net treeview tree

我有一个treeView已经填充(在vb.net中)并希望将所有节点或所有树移动到包含它的所有

的根节点

我有这个:

Root1
---Water
---Dirt
-----Fire
-----Stone
---UFOs
Root2
---Acid
-----H20
-----TNT

并将所有内容合并为一个“Megaroot”

MEgaRoot
---Root1
------Water
------Dirt
--------Fire
--------Stone
------UFOs
---Root2
------Acid
--------H20
--------TNT

也许这很容易,但是有一天我不知道如何处理这个问题。

谢谢大家的回复

问题已解决:

Dim Counter As Integer = trvItems.Nodes.Count
Dim oldRoot As TreeNode
Dim newRoot = New TreeNode("Megaroot")
For i As Integer = 0 To Counter - 1
    oldRoot = trvItems.Nodes(0)
     trvItems.Nodes.Remove(oldRoot)
     newRoot.Nodes.Add(oldRoot)
Next i
newRoot.Expand()

1 个答案:

答案 0 :(得分:1)

您需要从树中删除旧的根,以便为其提供新的父级。创建一个新根然后添加旧根。像这样:

    Dim oldRoot = TreeView1.Nodes(0)
    TreeView1.Nodes.Remove(oldRoot)
    Dim newRoot = New TreeNode("Megaroot")
    newRoot.Nodes.Add(oldRoot)
    TreeView1.Nodes.Insert(0, newRoot)
    newRoot.Expand()    '-- or ExpandAll()