将 Treeview 分支移动到新节点
Move Treeview branch to new node
我有一个树视图结构如下。
A1
___A2
___B2
______A3
______B3
___C2
___D2
我想移动节点 B2 及其所有子节点,使其成为节点 D2 的子节点。
我在论坛上找到解决方案,指出您只是将 B2 的父级设置为 D2,但在 VS 2010 中,父级是只读的。
是否有一个简单的指令可以执行此操作,还是我必须将节点复制到 D2 中,然后将所有子节点复制到新的 B2 中,然后删除 B2?目前这似乎需要相当长的时间,因为分支上有相当多的节点要移动,所以我希望有一个即时方法。
谢谢。
假设是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
我有一个树视图结构如下。
A1
___A2
___B2
______A3
______B3
___C2
___D2
我想移动节点 B2 及其所有子节点,使其成为节点 D2 的子节点。
我在论坛上找到解决方案,指出您只是将 B2 的父级设置为 D2,但在 VS 2010 中,父级是只读的。
是否有一个简单的指令可以执行此操作,还是我必须将节点复制到 D2 中,然后将所有子节点复制到新的 B2 中,然后删除 B2?目前这似乎需要相当长的时间,因为分支上有相当多的节点要移动,所以我希望有一个即时方法。
谢谢。
假设是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