知识大全 在Windows应用程序中支持拖拽的TreeView控件

Posted

篇首语:人生要事在于树立一个伟大的目标,并决心实现它。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在Windows应用程序中支持拖拽的TreeView控件相关的知识,希望对你有一定的参考价值。

在Windows应用程序中支持拖拽的TreeView控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

概要 快速实现在Windows应用程序中支持拖拽的TreeView控件  技术描述 TreeView已经提供了支持拖拽的事件  &# ; ItemDrag: 用户拖拽TreeNode时触发 当它发生时 调用DoDragDrop方法初始化拖拽过程   &# ; DragEnter: 在你初始化拖拽操作后 你必须处理目标TreeView控件的DragEnter事件 这个事件发生在用户拖拽TreeNode对象从TreeView控件到目标控件范围点内 DragEnter事件能够指定目标TreeView控件 无论拖拽操作对这个控件是否用 代码中仅仅是移动操作   &# ; DragDrop: 最后是要处理目标TreeView的DragDrop事件 这个事件发生在用户推拽TreeNode对象并释放到目标控件中 处理这个事件 返回TreeNode对象并添加到目标TreeView控件上 代码中用Data对象返回   以下代码实现一个TreeView控件上拖拽任意节点到指定节点上 也可以自己扩展为多个TreeView控件间TreeNode相互拖拽的程序 Data对象的GetData方法返回被拖拽的TreeNode对象 GetNodeAt方法用来确定这个TreeNode对象拖拽到的目标控件(这里就是目标TreeNode对象) 在确定位置之后把源TreeNode对象添加到目标TreeNode对象下面 作为其子结点 因为是移动操作 因此最后会把源TreeNode对象删除掉  通过以下几步创建实例程序    创建C# Windows应用程序    界面增加一个TreeView控件    设置TreeView的AllowDrop属性设置为True    Page_Load方法中增加如下代码   private void Form _Load(object sender System EventArgs e)                // TreeView控件增加一些测试节点                     TreeNode ParentNode ;                     ParentNode = treeView Nodes Add( tv );                     ParentNode Nodes Add( tv FirstChild );                     ParentNode Nodes Add( tv SecondChild );                     ParentNode Nodes Add( tv ThirdChild );                     ParentNode Nodes Add( tv FourthChild );                     ParentNode Expand();  // TreeView控件增加事件                     this treeView ItemDrag += new System Windows Forms ItemDragEventHandler(this treeView_ItemDrag);                     this treeView DragEnter += new System Windows Forms DragEventHandler(this treeView_DragEnter);                     this treeView DragDrop += new System Windows Forms DragEventHandler(this treeView_DragDrop);                   //treeView_ItemDrag 事件代码  private void treeView_ItemDrag(object sender                      System Windows Forms ItemDragEventArgs e)                                    DoDragDrop(e Item DragDropEffects Move);                   // treeView_DragEnter事件代码  private void treeView_DragEnter(object sender                      System Windows Forms DragEventArgs e)                                    e Effect = DragDropEffects Move;                    // treeView_DragDrop事件代码  private void treeView_DragDrop(object sender System Windows Forms DragEventArgs e)                                    TreeNode NewNode;                      if(e Data GetDataPresent(typeof(TreeNode)))                                                  Point pt = ((TreeView)sender) PointToClient(new Point(e X e Y));                             TreeNode DestinationNode = ((TreeView)sender) GetNodeAt(pt);                             NewNode = (TreeNode)e Data GetData ( System Windows Forms TreeNode );                             DestinationNode Nodes Add((TreeNode) NewNode Clone());                             DestinationNode Expand();                             //删除已经移动的节点                             NewNode Remove();                                       cha138/Article/program/net/201311/11471

相关参考

知识大全 实现应用程序的文件拖放功能

  在Delphi中有许多控件支持拖放操作但仅限于应用程序内部而不能实现从Windows环境里向应用程序拖放文件本文将要介绍的就是如何用Delphi编写支持文件拖放的应用程序由于主要使用Windows

在Windows中,关于桌面上的图标,正确的说法是

在Windows中,关于桌面上的图标,正确的说法是_____。A、删除桌面上的应用程序的快捷方式图标,就是删除对应的应用程序文件B、删除桌面上的应用程序的快捷方式图标,并未删除对应的应用程序文件C、在

在WINDOWS操作系统中,屏幕保护程序的主要作用是

在WINDOWS操作系统中,屏幕保护程序的主要作用是_____。A、保护显示器B、保护硬盘C、保护用户视力D、减低能耗答案:A解析:屏幕保护是为了保护显示器而设计的一种专门的程序,是为了防止电脑因无人

知识大全 哪里去找支持中文的字体

    如果你有一个中文的Windowsx//NT操作系统那么你的Java程序就可以在非中  文的Windowsx//NTLinuxSolaris系统上显示中文了在Windows/Fonts目  录下

知识大全 C#中势将窗体拖拽进行到底

C#中势将窗体拖拽进行到底  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  问题描述  

在windows系统中,要强行关闭一个正在运行的程序,可以使用任务管理器来结束它,打开任务管理器需按下__

在windows系统中,要强行关闭一个正在运行的程序,可以使用任务管理器来结束它,打开任务管理器需按下_____。A、Ctrl+DelB、Ctrl+Alt+ShiftC、Ctrl+ShiftD、Ctr

知识大全 求助,从画布怎么拖拽到另一个画布

求助,从画布怎么拖拽到另一个画布PS中直接用鼠标左键按住要拖动图片,直接拖动到目标文档释放就可以了。painter怎么把一个画布上的移到另一个画布上你不会是直接在画布上画的吧?要新建一层画画布是默认锁

知识大全 在Java应用程序读取8位和24位Windows位图

在Java应用程序读取8位和24位Windows位图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

在Excel工作表的A1单元格中输入单引号和数字1后,按回车。用鼠标指向A1单元格的填充柄,并按下左键拖拽到A3单元格

在Excel工作表的A1单元格中输入单引号和数字1后,按回车。用鼠标指向A1单元格的填充柄,并按下左键拖拽到A3单元格。A1、A2、A3的数据应分别是_____。A、1,1,1B、1,2,3C、1,0

知识大全 windows XP 系统中通过开始菜单中的“运行”命令一定要输入程序的详细路径么

windowsXP系统中通过开始菜单中的“运行”命令一定要输入程序的详细路径么?还是也可以只输入程序名?  以下文字资料是由(本站网www.cha138.com)小编为大