将Treeview分支移动到新节点

时间:2015-03-06 12:37:53

标签: vb.net treeview

我的树视图结构如下。

A1

___ A2

___ B2

______ A3

______ B3

___ C2

___ D2

我想移动节点B2及其所有孩子成为D2的孩子。

我在论坛上找到了解决方案,说明你只是将B2的父级设置为D2,但是在VS 2010中父级是只读的。

是否有一个简单的指令可以执行此操作,还是必须将节点复制到D2中,然后将所有子节点复制到新的B2中,然后删除B2?目前似乎需要一段时间,因为分支上有相当多的节点要移动所以我希望有一个即时方法。

感谢。

1 个答案:

答案 0 :(得分:0)

假设WinForms,您必须找到要处理的节点,然后删除要移动的分支,然后将其添加到另一个分支:

Dim nodeB2 As TreeNode = TreeView1.Nodes.Find("nodeB2", True).FirstOrDefault
If nodeB2 IsNot Nothing Then
  Dim nodeD2 As TreeNode = TreeView1.Nodes.Find("nodeD2", True).FirstOrDefault
  If nodeD2 IsNot Nothing Then
    nodeB2.Parent.Nodes.Remove(nodeB2)
    nodeD2.Nodes.Add(nodeB2)
  End If
End If