欢迎来到天天文库
浏览记录
ID:33845914
大小:1.62 MB
页数:168页
时间:2019-02-28
《编程资料 - 剪贴板、拖放操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、0H在VB.NET应用程序中添加树视图拖放功能概要本文分步演示了如何在VB.NET应用程序中的一个树视图控件中对树节点执行拖放操作。技术说明树视图控件提供了下面三个必须处理的拖放事件:ItemDrag:用户开始拖动树节点,就会从源树视图控件引发此事件。出现此事件时,请调用•DoDragDrop方法以启动拖放过程。DragEnter:启动拖放操作后,必须在目标树视图控件中处理DragEnter事件。当用户将TreeNode对象从源树视图控件拖到目标树视图控件边界内的某一点时,会发生此事件。•DragEnter事件允许目标树视图
2、控件指定拖放操作对此控件是否有效。本文中的代码示例只允许执行移动操作。DragDrop:要处理的最后一个事件是目标树视图控件的DragDrop事件。将拖动的•TreeNode对象放到目标树视图控件上后,会发生此事件。要处理此事件,请检索TreeNode对象,然后将该对象添加到目标树视图控件中。该代码示例使用Data对象来检索数据。本文中的代码示例可确保已将一个TreeNode对象拖到目标树视图控件中。Data对象的GetData方法可检索从源控件拖动的节点。GetNodeAt方法可确定将此节点放到目标控件上的什么位置。确定此
3、位置后,请添加源节点,使其作为目标节点的子节点。由于本示例将执行一个移动操作,因此最后一步是从原始树视图控件中移除源节点。创建示例的步骤1.在VB.NET中新建一个Windows应用程序。默认情况下将创建Form1。2.使用工具箱将一个树视图控件添加到Form1中。TreeView1在默认情况下被创建。3.要允许拖放树视图控件,在“属性”窗口中,将TreeView1的AllowDrop属性更改为True。4.为TreeView1添加如下图所示的节点:添加下面的方法处理程序,以处理TreeView1的ItemDrag事件。此代
4、码对当前拖动的5.项启动一个移动操作。'用户开始拖动树节点,就会从源树视图控件引发此事件。出现此事件时,需调用DoDragDrop方法以启动拖放过程。PrivateSubTreeView1_ItemDrag(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.ItemDragEventArgs)HandlesTreeView1.ItemDragDoDragDrop(e.Item,DragDropEffects.Move)EndSub6.添加下面的方法处理程序,以处理TreeVie
5、w1的DragEnter事件:'启动拖放操作后,必须在目标树视图控件中处理DragEnter事件。'当用户将TreeNode对象从源树视图控件拖到目标树视图控件边界内的某一点时,会发生此事件。PrivateSubTreeView1_DragEnter(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.DragEventArgs)HandlesTreeView1.DragEnter'e.Effect:设置拖放操作中目标放置效果,DragDropEffects.Move表示允许执行
6、移动操作e.Effect=DragDropEffects.MoveEndSub7.添加下面的方法处理程序,以处理TreeView1的DragDrop事件:'要处理的最后一个事件是目标树视图控件的DragDrop事件。'将拖动的TreeNode对象放到目标树视图控件上后,会发生此事件。PrivateSubTreeView1_DragDrop(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.DragEventArgs)HandlesTreeView1.DragDropDimdes
7、tinationNode,newNodeAsTreeNode'使用Data对象来检索跟DragDrop事件相关的数据(e.Data)'方法GetDataPresent(…………)确定跟DragDrop事件相关的数据是否是一个TreeNodeIf(e.Data.GetDataPresent("System.Windows.Forms.TreeNode",False))Then'确定当前停止拖放的位置的工作区坐标:DimptAsPoint=CType(sender,TreeView).PointToClient(NewPoint
8、(e.X,e.Y))'代码CType(sender,TreeView)中,变量sender包含触发事件的对象的引用,而CType方法将其强制转换为TreeView类型'PointToClient方法将指定屏幕点的位置计算成工作区坐标'检索位于指定位置的树节点:destinationNode
此文档下载收益归作者所有