目录树节点的拖动

js+Ztree实现左侧树节点拖动到右侧面板上 <html> <head>   <title>Demo</title>   <meta charset="UTF-8">    <link rel="stylesheet" href="zTreeStyle.css" type="text/css"> &l 阅读详情
 

 /// <summary>
        ///树节点拖动后事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tvOrgnization_DragDrop(object sender, DragEventArgs e)
        {

           // 验证所选控件是否为TreeNode
            if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode",true) == false)
            {
                return;
            }

            //  获取所在TreeView
            TreeView selectedTreeView = (TreeView)sender;

            //获取要拖动的节点
            TreeNode dropNode  = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");

            //获取选中节点
            TreeNode targetNode= selectedTreeView.SelectedNode;

            if (targetNode == dropNode)
            {
                return;
            }

            //从所在位置移除所要拖动的节点
            dropNode.Remove();

          //将拖动节点移到指定位置
            if( targetNode ==null)
            {         
                selectedTreeView.Nodes.Add(dropNode);
            }
            else
            {
                targetNode.Nodes.Add(dropNode);
            }

            //确保节点可视
            dropNode.EnsureVisible();
            selectedTreeView.SelectedNode = dropNode;
        }

        /// <summary>
        ///拖入控件边界时事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tvOrgnization_DragEnter(object sender, DragEventArgs e)
        {
            if( e.Data.GetDataPresent("System.Windows.Forms.TreeNode",true) )
            {
                //将拖动源数据放到拖动目标
                e.Effect = DragDropEffects.Move;
            }
            else
            {
          // 放置目标不接受该数据
                e.Effect = DragDropEffects.None;
            }
        }

        /// <summary>
        ///开始拖动事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tvOrgnization_ItemDrag(object sender, ItemDragEventArgs e)
        { 
            tvOrgnization.DoDragDrop(e.Item, DragDropEffects.Move);
        }

        /// <summary>
        ///拖出控件边界时事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tvOrgnization_DragOver(object sender, DragEventArgs e)
        {
            if( e.Data.GetDataPresent("System.Windows.Forms.TreeNode",true) == false)
            {
                return;
            }

       // 获取treeview
            TreeView selectedTreeView =  (TreeView)sender;

       //将屏幕位置装换为工区位置
            Point pt  = selectedTreeView.PointToClient(new Point(e.X, e.Y));
            TreeNode targetNode  = selectedTreeView.GetNodeAt(pt);

       //验证targetNode是否为当前选中节点
            if (selectedTreeView.SelectedNode != targetNode )
            {
           
           //不是则将当前选中节点设为targerNode
                selectedTreeView.SelectedNode = targetNode;

            //若目标节点为拖动节点时,不显示拖放效果
                TreeNode dropNode  =(TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");

                while (targetNode != null)
                {
                    if (targetNode == dropNode)
                    {
                        e.Effect = DragDropEffects.None;
                    }
                    targetNode = targetNode.Parent;
                }
                e.Effect = DragDropEffects.Move;
            }
        }

UG二次开发装配篇 添加/拖动/删除组件方法的实现 我们在UG装配的过程中,经常会遇到需要调整组件目录位置,在软件设计过程中可以通过在目录树里面拖动组件来完成。那么,如果要用程序实现组件的移动/拖动,我们要怎么做呢?本节就完成了添加/拖动/删除组件方法的实现,先看效果图:根节点test下,有SHCS_01、SHCS_02、SHCS_03、SHCS_04这四个组件。下面分别给出了添加组件、移动组件和删除组件的方法。 阅读详情

相关推荐

实现可拖动节点的JTree示例

JTree是Java Swing库中的一个组件,用于以树状图的形式展现层次化的数据。通过JTree,开发者可以方便地表示出包含多层节点和子节点的结构。它在GUI界面中常用于表示文件系统、组织结构或任何需要层次视图的信息。拖放(Drag and Drop)操作是图形用户界面(GUI)中的一个重要功能,它允许用户通过简单的鼠标操作来移动、复制或者执行其他动作。这种交互方式的基础是基于事件处理机制,其中涉及事件监听、触发和处理等多个环节。技术上,拖放操作的实现依赖于操作系统提供的API。

weixin_36474001的博客 916

C#中实现拖动文件上传到相应目录

该程序将获取拖动的文件的路径,并使用“File.Copy”方法将其复制到指定的目录中。如果拖动的数据是文件,则将设置拖放效果为“复制”。然后,当用户释放鼠标按钮时,将触发。当用户将文件拖到窗体上时,将触发。

suzhigao的博客 755

C#实现TreeView节点拖动功能的详细教程

在本章中,我们将概述如何使用C#在Windows Forms应用程序中实现鼠标拖动TreeView节点的功能。我们首先将从基础的TreeView控件用法讲起,然后逐步深入到如何启用和实现拖放功能。这个过程涵盖了拖动节点的记录、鼠标移动的响应、拖放目标位置的判断,以及最终节点的移动操作。通过本章的学习,你可以掌握TreeView节点拖动操作的基本原理和实现步骤,为后续章节中深入探讨事件处理和用户体验优化打下坚实的基础。TreeView控件是.NET框架中常用的界面元素之一,广泛应用于展示层次数据。

weixin_36431145的博客 1145

目录的上移,下移,置顶,置底的实现

思路: 1、上移,下移,置底,置顶是根据数据库表中 sort 关键字进行排序。 2、上移:查出比当前对象sort小的一条数据(lowerSort),交换两个sort。 3、下移:查出比当前对象sort大的一条数据(upperSort),交换两个sort。 4、置顶:查出当前层级中sort最小的一条数据(minSort),将当前sort设为min(sort)- 1。 5、置底:查出当前层级中sort最大的一条数据(max...

JUSTWRT的博客 1692

C#写的本地视频管理播放器:带目录树、SQLite存路径、支持倍速/字幕/全屏

这是一款面向教学或自学场景的Windows桌面视频管理工具,用C#开发,WinForm做界面,SQLite存视频路径和播放记录。打开就能选本地文件夹,自动扫描视频并生成可编辑的目录结构,支持新建分组、拖拽调整层级、重命名、删除等操作。播放功能齐全:基础控制(播放/暂停/停止)、进度拖动、0.5–2.0倍速调节(基于帧定位)、音量滑块+静音开关、全屏切换、字幕位置微调和多版本切换。所有操作实时写入SQLite数据库,断电或重启后目录和播放状态不丢失。资源包里包含完整VS解决方案(.sln)、可直接运行的exe

kubernetes8ctl的博客 260

二级目录拖拽排序实现之演示源码

在开发项目中经常碰到二级目录形式。比如文章模块、产品模块,很多应多都基于两级分类形式。而普通的解决排序方案,不管是一级分类,还是多级分类,都是由管理员在后台手动编辑同级分类排序的值来设置排序,根据该值的大小决定显示的顺序。这样的操作方式比较烦琐。jQuery有对于排序采用拖拽方式来实现排序,从用户层面,这样的操作非常直观,操作简便。本源码中对二级目录进行拖拽排序,是根据jQuery拖拽排序插件实现。

java 拖拽目录_Java实现拖拽列表项的排序功能

在一些允许用户自定义栏目顺序的app(如:凤凰新闻、网易云音乐等),我们可以方便地拖拽列表项来完成列表的重新排序,进而完成对栏目顺序的重排。这个功能很人性化,而实现起来其实很简单(甚至都不用写什么后台代码),只有三步。①把冰箱门打开首先,我们需要让冰箱的大门敞开,也就是允许我们进行拖拽的相关操作。以ListView为例,注意下面几个属性。AllowDrop="True"CanReorderItem...

weixin_39934063的博客 782

树菜单拖拽功能带拖拽特效

做窗体经常遇到将树菜单中的数据拖拽到另一控件中。该代码实现了这一功能,并且带有拖拽效果。代码简单容易理解

使用zTree插件实现可拖拽的树

在目前接触到的树插件中,我觉得zTree比较简单,也容易上手。有一次业务需求是将某对象分组树上的对象可以随意拖拽,相当于改变了对象的分组,因此我用到了zTree,对其进行了一些列学习。         首先下载zTree所需的相关包,附上官方下载连接:zTree下载,引入相关文件后就可以进行zTree的构建了。首先在页面上加ul标签,然后为树加上id,calss为ztree,前端页面就完成了。

缘尽无期的博客 2788

Jquery实现可拖拽的树菜单

jQuery实现可拖拽的树菜单,根据json数据实现可拖拽操作,可直接运用于项目中

js实现节点可拖动的树

js实现节点可拖动的树! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.youkuaiyun.com/

TreeView动态构造多级树并实现拖动(收藏)

转自:https://blog.youkuaiyun.com/weixin_33894640/article/details/93329994' 秒懂的二叉树左右子树交换(递归实现): https://blog.youkuaiyun.com/onechampion/article/details/91129421 private static DataSet objSet = ...

qq_36688928的博客 312

SV--对象拷贝、参数化的类

对象拷贝,参数化的类

创芯人--fly的博客 1570

Qt之目录树组件QTreeWidget

QTreeWidget的常规使用,如添加根节点、子节点,设置节点文本、图标、属性标记、角色数据等; (2)动态添加子节点,本文上限设置成了7级; (3)右键点击节点添加、删除节点功能;

weixin_44875787的博客 1807

windows10下 iperf3测试带宽

客户端输入:"iperf3.exe -u -c 服务器IP地址 -b 5g" //客户端给服务器发送udp数据包,最大带宽为5g。客户端输入:“iperf3.exe -c 服务器IP地址 -P 10“//表示客户端10路并行给服务器发送TCP包;上图可知:带宽是15Gbps(这里不知道为什么下面测试的UDP会比这里TCP慢 按道理UDP不可能比TCP慢的5.)3. 验证是否下载成功,在打开的窗口中输入“iperf3.exe -v”,会出现安装的版本,表示安装成功了。5. iperf3参数。

xiaoqixiaoguai的博客 5889

全志T113-S3 Linux系统移植实战:从硬件配置到内核启动全解析

本文详细解析了将Linux系统移植到全志T113-S3嵌入式芯片的完整实战流程。内容涵盖从开发环境搭建、Longan SDK源码获取,到关键的U-Boot配置、DDR初始化、Linux内核编译与设备树定制,以及根文件系统构建与启动脚本分析。文章结合硬件配置与启动日志解读,提供了从硬件配置到内核启动的全方位指导,帮助开发者高效完成系统移植。

ik67890123的博客 514

WPF MVVM+Devxpress 实现目录树拖动并更改数据库数据

1、xaml: 在<dxg:TreeListView>标签中设置属性 AllowDragDrop="True" 并添加 <dxmvvm:Interaction.Behaviors> <dxmvvm:EventToCommand EventName="DropRecord" Command="{Binding Move...

c410425783的博客 594

SolidWorks 2022 学习(一)软件安装

接下来是安装SolidWorks,右键SolidWorks.2022.SP0.Premium.DVD.iso,选择装载。然后以管理员身份运行SolidWorks_Flexnet_Server目录下的server_install.bat。更改需要安装的产品,以及安装路径,并勾选接受条款,点击现在安装,会弹出如下窗口。然后以管理员身份运行setup.exe,开始安装solidworks。下载链接会在文章末尾给出,下载完成的文件如下图所示。双击注册表文件,然后点击确定。保持不动,点击确定,开始安装。

qq_38383364的博客 3127

vue3 ant design vue tree 超简单实现拖动排序

超简单实现vue3 UI框架 ant design vue tree组件拖动排序

weixin_46136821的博客 2826

基于STM32F1XX 、HAL库的OPT4001-Q1环境光传感器驱动应用C语言程序设计

OPT4001-Q1 的输出是半对数 的,具有 9 个二进制对数满量程照度范围,每个范围内具有高度线性响应,使得 PicoStar™ 型号的测量能力为 312.5μlux 至 84klux,USON 型号的测量能力为 400µlux 至 107klux。// 禁用中断(示例)

PP_Cottage的博客 461

NX二次开发常用函数——从一个坐标系到另一个坐标系的转换(UF_MTX4_csys_to_csys )相同体坐标转化

本文介绍了在项目开发中实现坐标转换的方法,重点解析了两个关键函数UF_MTX4_csys_to_csys和UF_MTX4_vec3_multiply的使用。通过4个变换矩阵(transform1-4)实现工作坐标系与绝对坐标系之间的相互转换,并以圆柱体为例详细说明了坐标转换的具体实现过程,包括原点、X/Y轴方向的转换处理。相比之前采用的if-else判断方法,这种矩阵转换方式在代码复杂度和运行效率上都更具优势。

weixin_47753171的博客 599

element目录树的拖拽功能----->

如果你用到拖拽,那么我猜你用到了svg.那么你对d3一定有一定的了解了. 总之我猜你一定是有基础的人.同时也为自己记录下,目录树的巨型Bug :allow-drop="allowDrop",这个配置他是可以使你的拖拽恢复原来.超级有用的东东 :render-content="renderContent" 大家看下面的代码是jsx语法,没错这个可以使你灵活的添加图标什么的. ...

anlin9217的博客 1213

OpenClaw 2026 路线图详解:3 大协作能力升级与社区贡献增长 62% 的实证分析

介绍 OpenClaw 2026 如何通过上下文锚定(Context Anchoring)、协作质量定义和责任边界机制,将 AI 编程工具从单点补全升级为嵌入代码生命周期的协作对齐系统,并详解 `.openclaw/config.yaml` 中 `context_anchor` 配置的实操方法与效果

weixin_42545292的博客 383

vue 结构树组件_树结构的Vue组件

vue 结构树组件 Vue树列表 (vue-tree-list) A vue component for tree structure. Support adding treenode/leafnode, editing node's name and dragging. 树结构的Vue组件。 支持添加treenode / leafnode,编辑节点名称并拖动。 View Demo 查看演示 ...

cuk5239的博客 2614

uniapp [安卓苹果App端] - 在“安卓app/苹果app“平台端打包编译后,微信授权登录报错 login:fail [:-1]未能完成操作。(PGWXAPI错误-1。)错误码code:-10

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果安卓app,微信授权登录,uniAppAPP端微信登录报错,出现微信确认登录界面后点击登录报错,BundleID,应用ID,微信登录,app微信一键登录,微信登录绑定点确定就出错,AppSecrect,login:fail[:-1]未能完成操作。(PGWXAPI错误-1。),"errCode":-100,"code":-100,在uniappmanifest.json配置了AppSecrect还是报错无

🏆 前端领域优质创作者 3763

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

asp mysql 可编辑树状,基于数据库动态生成树形目录-ASP教程,数据库相关

一、 目录树的广泛应用为了这段内容,在百度上搜了搜,内容一大通,相关的竟没有。搜什么搜嘛?用处不是明摆着吗?资源管理器文件夹的管理,论坛中多级论坛的管理,java中的awt正是缺乏包括树形目录这样的组件才用处受限……谁这么没礼貌,一点面子都不给,叫我怎么讲下去?清了清嗓子:在我们项目中常常会出现自关联的数据表,从整体看去,整个表就呈现为一个树形数据结构。当我们对这个表进行显示、编辑时,如果不采用...

weixin_39631649的博客 331

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 工具栏控件绑定下拉式颜色选择框、文本框及响应事件
fengjunwang
博客等级 码龄17年 0粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值