如何在我的程序和资源管理器之间实现拖放 仅适用于Windows应用程序
答案 0 :(得分:5)
只要您使用WinForms,它实际上非常简单。为了帮助您入门,请参阅这两篇文章:
如果你正在使用WPF,this tutorial和this SO thread应该有所帮助。
答案 1 :(得分:1)
CodeProject上有一篇关于如何做到这一点的好文章:
此示例项目列出了一个文件夹 完整的文件,让你拖动和 把它们放到Explorer中。你也可以 从资源管理器拖入样本, 你可以使用Shift和Ctrl 修改动作的键,就像 在资源管理器中。
Drag and drop, cut/copy and paste files with Windows Explorer
开始拖动操作 资源管理器,我们实现了
ItemDrag
来自Listview
的事件 拖动项目后调用 比几个像素。我们只是打电话DoDragDrop
传递文件 拖动包裹在DataObject
中。您 真的不需要了解DataObject
- 它实现了IDataObject
中使用的接口 通信。
答案 2 :(得分:1)
在拖动输入事件上添加此项(这将在您拖动文件时更改光标类型)
private void Form1_DragEnter(object sender, DragEventArgs e)
{
// If file is dragged, show cursor "Drop allowed"
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
然后在DragDrop事件上,您需要处理您想要做的事情。 并将AllowDrop属性设置为true