Переместить узлы TReeView в корневой узел (который содержит все) Vb.net - PullRequest
0 голосов
/ 02 апреля 2011

У меня есть 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 Ответ

1 голос
/ 02 апреля 2011

Вам нужно удалить старый корень из дерева, чтобы вы могли дать ему нового родителя. Создайте новый корень и добавьте к нему старый. Как это:

    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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...