以文本方式查看主题 - 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楼的实例是拖到哪复制新增子节点 |