拖放

时间:2009-03-21 12:17:18

标签: c# drag-and-drop

如何在我的程序和资源管理器之间实现拖放 仅适用于Windows应用程序

3 个答案:

答案 0 :(得分:5)

只要您使用WinForms,它实际上非常简单。为了帮助您入门,请参阅这两篇文章:

如果你正在使用WPF,this tutorialthis 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