VB.NET中文本框实现文本拖拽

您所在的位置:网站首页 vb文本框设置 VB.NET中文本框实现文本拖拽

VB.NET中文本框实现文本拖拽

2024-07-16 05:12| 来源: 网络整理| 查看: 265

拖放如何进行 拖放实际上就如同用鼠标复制粘帖,因此你必须有一个可以复制或移动的源,也要有一个可以粘贴的目的地。在这两个操作过程中,数据是保存在内存中的。复制粘贴用的是剪切版,而拖放用的却是一种本质上是私有剪切板的Dataobject的对象。 下面是典型的托放操作的时间序列: 1、拖放(dragging)是通过调用源控件的DoDragDrop方法来初始化的,DoDragDrop有两个参数 ◆data,指定将要传送的数据 ◆allowedEffects,指定允许进行的操作(复制或移动) 这样自动创建了一个新的Dataobject对象 2、接下来就依次激发了GiveFeedBack事件。在大多数情况下,你并不需要担心GiveFeedBack事件,然而你如果想自定义拖放过程中的鼠标指针的话,你可以在这些地方加上你的代码。 3、任何有AllowDrop属性而且被设置成True的控件都是隐含的Drop对象。AllowDrop属性可以在设计时的属性窗口中进行设置,也可以在Form_load事件自动加载。 4、当鼠标移到某个控件时,就同时激发了这个控件的DragEnter事件。GetDataPresent方法是用来确认拖过来的数据是否适合目标控件,Effect属性是用来显示适当的鼠标指针。

5、如果用户在有效的目标控件上释放鼠标,就同时激发了DragDrop事件。DragDrop事件句柄中的代码从DataObject对象中释放数据并把它显示在目标控件中。

实际代码:

TextBox1的dragenter事件:

Private Sub TextBox1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.Link TextBox1.Text = "" ' 清空输入框内容 Else e.Effect = DragDropEffects.None End If End Sub TextBox1的dragdrop事件:

Private Sub TextBox1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop ' 强制进行回收 GC.Collect() On Error Resume Next s1 = "" ' 初始化文件内容字符串 nbpName = "" ' 初始化nbp文件名 Dim files As Array = e.Data.GetData(DataFormats.FileDrop) For Each file As String In files TextBox1.AppendText(file) Next End Sub



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3