.NET WinFrom中给文本框添加拖放事件的代码
程序员文章站
2024-02-25 22:39:09
在开发.net winform程序时,有时候我们希望窗体上的文本框能接受鼠标拖放事件,比如允许将文件直接拖放到文本框中以直接获取到文件的本地路径,或者将选取的字符串直接拖放...
在开发.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等,方法类似。
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等,方法类似。