如何移动treeview得整个节点(包括子节点)--最好是比较简单得方法

shawls 2003-05-16 04:23:37
如何移动treeview得整个节点(包括子节点)--最好是比较简单得方法

例如:

开始是
abcd
|---abcd1
|------abcd2
| |
| |--abcd201
|------abcd3
abce
|------abce1

修改后:
abcd
|---abcd1
|------abcd3
abce
|------abce1
|------abcd2
|
|--abcd201

希望是最快得方法-我知道用递归,先删除,然后慢慢添加,这个方法不好

分,好说,偶有得是

可以:
qq:9181729
mail:shawfile@163.net
...全文
35 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shawls 2003-05-16
好吧~~:)

问题解决了一般,本来我想用一个类似于二叉树的东西存储的,可惜没有办法做了
回复
junwhj 2003-05-16
想不出还有什么办法了

Private Sub Command1_Click()
Set TreeView1.Nodes("abcd3").Parent = TreeView1.Nodes("abcd")
Set TreeView1.Nodes("abcd2").Parent = TreeView1.Nodes("abcd")
End Sub

Private Sub Form_Load()
With TreeView1.Nodes
.Add , , "abcd", "abcd"
.Add "abcd", tvwChild, "abcd1", "abcd1"
.Add "abcd", tvwChild, "abcd2", "abcd2"
.Add "abcd", tvwChild, "abcd3", "abcd3"
End With
TreeView1.Nodes("abcd").Expanded = True
End Sub
回复
pasl 2003-05-16
很简单,你可以直接更改要移动的节点的父节点为目标节点


Private Sub Command1_Click()

Dim TmpNode As Node
Set TmpNode = TreeView1.Nodes("q5qq")
Set TmpNode.Parent = TreeView1.Nodes("q2qq")'主要的一句,实现移动

End Sub

Private Sub Form_Load()

Dim TmpNode As Node
TreeView1.Nodes.Add , , "qqq", "1"
Set TmpNode = TreeView1.Nodes.Add(TreeView1.Nodes(1), tvwChild, "q1qq", "2")
Set TmpNode = TreeView1.Nodes.Add(TmpNode, tvwChild, "q5qq", "6")
Set TmpNode = TreeView1.Nodes.Add(TmpNode, tvwChild, "q6qq", "7")
Set TmpNode = TreeView1.Nodes.Add(TmpNode, tvwChild, "q7qq", "8")
TreeView1.Nodes.Add TreeView1.Nodes(1), tvwChild, "q2qq", "3"
TreeView1.Nodes.Add TreeView1.Nodes(1), tvwChild, "q3qq", "4"
TreeView1.Nodes.Add TreeView1.Nodes(1), tvwChild, "q4qq", "5"

End Sub
回复
shawls 2003-05-16
好像属性是只读的
回复
junwhj 2003-05-16
我再试试。
回复
shawls 2003-05-16
那么上下移动呢?

开始是
abcd
|---abcd1
|------abcd2
|------abcd3
abce
|------abce1
修改后:

abcd
|---abcd2
|------abcd3
|------abcd1
abce
|------abce1


回复
junwhj 2003-05-16
Private Sub Command1_Click()
Set TreeView1.Nodes("abcd2").Parent = TreeView1.Nodes("abce")
Set TreeView1.Nodes("abce1").Parent = TreeView1.Nodes("abce")
End Sub

Private Sub Form_Load()
With TreeView1.Nodes
.Add , , "abcd", "abcd"
.Add "abcd", tvwChild, "abcd1", "abcd1"
.Add "abcd", tvwChild, "abcd2", "abcd2"
.Add "abcd2", tvwChild, "abcd201", "abcd201"
.Add , , "abce", "abce"
.Add "abce", tvwChild, "abce1", "abce1"
End With
End Sub
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7491

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2003-05-16 04:23
社区公告
暂无公告