我有一个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()
答案 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()