以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  TreeView怎么拖动移动位置  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=172903)

--  作者:z769036165
--  发布时间:2021/11/6 15:00:00
--  TreeView怎么拖动移动位置
如题,需要鼠标拖动节点,进行节点移动,该如何做呢?
--  作者:有点蓝
--  发布时间:2021/11/6 15:12:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=92655&skin=0
--  作者:z769036165
--  发布时间:2021/11/6 17:22:00
--  
这个看了有个问题,移动节点有没有直接移动到index位置的功能,看到只能向上移动和向下移动
--  作者:有点蓝
--  发布时间:2021/11/6 17:30:00
--  
2楼是拖动,不是移动,可以拖到任意位置
--  作者:z769036165
--  发布时间:2021/11/8 9:28:00
--  
2楼是拖动,我要改成移动到拖动位置的节点,我现在是从2楼的代码改了下,获取到了拖动前位置的index和拖动后位置的index,想把拖动的节点移动到拖动后的节点,目前标准的提供的是MoveUp这种只能向上移动一格,需要计算出拖动前后的index差,然后循环执行MoveUp这个??想问有没有一步到位的
--  作者:有点蓝
--  发布时间:2021/11/8 9:38:00
--  
直接拖到指定位置不就行了,为什么还要一个个移?
--  作者:z769036165
--  发布时间:2021/11/8 9:40:00
--  
就是这个拖动指定位置,不知道怎么移动过去啊


--  作者:有点蓝
--  发布时间:2021/11/8 9:41:00
--  
2楼的实例就是拖到哪里就移到哪里呀
--  作者:z769036165
--  发布时间:2021/11/8 9:42:00
--  
Public  Sub TreeView1_DragDrop(sender As Object, e As System.Windows.Forms.DragEventArgs)
If e.Data.GetDataPresent(Gettype(System.String)) And e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) = False Then
    Dim Point As Point = sender.PointToClient(New Point(e.X, e.Y))
    Dim targetTreeNode As System.Windows.Forms.TreeNode = sender.GetNodeAt(Point)
    Dim mitem As String = e.Data.GetData(Gettype(String))
    /---增加移动到拖动节点的代码----/

    \'targetTreeNode.Nodes.Add(mitem, mitem)
    \'targetTreeNode.Expand()
End If
End Sub

--  作者:z769036165
--  发布时间:2021/11/8 9:52:00
--  
2楼的实例是拖到哪复制新增子节点