.NET WinFrom中给文本框添加拖放事件

简介:

在开发.NET WinForm程序时,有时候我们希望窗体上的文本框能接受鼠标拖放事件,比如允许将文件直接拖放到文本框中以直接获取到文件的本地路径,或者将选取的字符串直接拖放到文本框中等等。要实现这个功能其实很简单,代码如下。

1. 将文本框的属性AllowDrop设置成True

2. 给文本框添加DragEnter事件

复制代码
private   void  textBox1_DragEnter( object  sender, DragEventArgs e)
{
    
if  (e.Data.GetDataPresent(DataFormats.FileDrop,  false ))
    {
        e.Effect 
=  DragDropEffects.All;
    }
}
复制代码

  注意DataFormats下面有许多其它的属性允许你将不同类型的数据拖放到文本框中。上面的代码用于将文件的本地路径拖放到文本框中。 

3. 给文本框添加DragDrop事件以接收数据

private   void  textBox1_DragDrop( object  sender, DragEventArgs e)
{
    
this .textBox1.Text  =  GetDragData(( string [])e.Data.GetData(DataFormats.FileDrop));
}

  你还可以给其它的控件添加鼠标拖放事件,如ListBox等,方法类似。


本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/archive/2011/08/01/2123876.html,如需转载请自行联系原作者


相关文章
|
8月前
VB.NET—窗体引起的乌龙事件
VB.NET—窗体引起的乌龙事件
67 0
|
C++
【.Net】使用委托实现被引用的项目向上级项目的消息传递事件
在实际项目过程中,经常可能遇到被引用的项目要向上传递消息,但是又不能通过方法进行返回等操作,这个时候委托就派上用场了。以下使用委托,来实现被引用的项目向上传递消息的小教程,欢迎各位大佬提供建议。1、新增控制台项目(一般在CS架构中会用的比较多,用于跨线程传递消息使用)。此处用一个控制台项目来模拟演示使用委托进行消息事件的传递教程。
109 0
【.Net】使用委托实现被引用的项目向上级项目的消息传递事件
|
JSON 物联网 数据格式
阿里云物联网.NET Core客户端|CZGL.AliloTClient:6.设备事件上报
阿里云物联网.NET Core客户端|CZGL.AliloTClient:6.设备事件上报
429 15
阿里云物联网.NET Core客户端|CZGL.AliloTClient:6.设备事件上报
|
JSON 物联网 数据格式
阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:6. 设备事件上报
根据阿里云物联网普通的定义,事件上报有 信息、告警、故障三种类型,事件是设备上传的消息通知,应当及时处理。 1)定义事件 打开阿里云物联网控制台,进入产品,点击 自定义功能 ,添加一个事件。 2)上传事件的方法 CZGL.
1321 0
C#.NET使用Task,await,async,异步执行控件耗时事件(event),不阻塞UI线程和不跨线程执行UI更新,以及其他方式比较
原文:C#.NET使用Task,await,async,异步执行控件耗时事件(event),不阻塞UI线程和不跨线程执行UI更新,以及其他方式比较 使用Task,await,async,异步执行事件(event),不阻塞UI线程和不跨线程执行UI更新   使用Task,await,async 的异步模式 去执行事件(event) 解决不阻塞UI线程和不夸跨线程执行UI更新报错的最佳实践,附加几种其他方式比较 由于是Winform代码和其他原因,本文章只做代码截图演示,不做界面UI展示,当然所有代码都会在截图展示。
4922 0
|
C#
.NET零基础入门05:委托与事件
一:前言 本小节,我们需要停一停我们的小游戏开发,虽然它现在还不完美,还很简单,甚至还有BUG。但是,为了更好的理解C#,现在到了该深入了解一些基础知识的时候了。 当然,实际上,本小节内容对于零基础入门的初学者来说,还是有点难了。
682 0