以listview控件为例
1.新建winform项目,在设计界面添加一个listview控件。
2.转到listview属性界面,设置Allowdrow为true。
3.属性界面转事件界面,双击注册DragEnter事件,DragEnter事件添加以下代码。
if(e.Data.GetDataPresent (DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Move;
}else
{
e.Effect = DragDropEffects.None;
}
4.注册DragDrop事件,添加以下代码:
//f[i]为拖入文件[夹]的地址
string[] f = (string[])e.Data.GetData(DataFormats.FileDrop);
for (int i = 0; i < f.Length; i++)
{
if(File.Exists(f[i])){
// 处理文件
}else if(Directory.Exists(f[i])){
// 处理文件夹
}else{
// 都不是
}
}
5.f[i]为一个文件或文件夹的地址,接下来的操作就跟用选择器选中文件的操作一致。其他控件的操作与此相同,可以模仿文件拖拽实现控件与控件之间的数据拖拽。