【问题标题】:Move TReeView Nodes to a Root Node (that Contains All) Vb.net将 TReeView 节点移动到根节点(包含所有)Vb.net
【发布时间】:2011-04-01 23:11:32
【问题描述】:

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

我有这个:

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

把所有东西都放在一个“超级根”里

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()

【问题讨论】:

    标签: vb.net treeview tree


    【解决方案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()
    

    【讨论】:

    • 这只会为 Root1 添加“子树”,如果我有 Root2、Root3、Rootn,它们会保留在 Megaroot 之外。也许我必须为遇到的每个 Rootn 做某种循环?
    • 别手忙脚乱,我教你怎么做,你可以从那里捡起球。从电视中删除,添加到您的新根目录。
    猜你喜欢
    • 2020-08-28
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    相关资源
    最近更新 更多