.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等,方法类似。
原文地址:https://www.cnblogs.com/jaxu/p/2123876.html