如何移动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
...全文
81 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

7,764

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧