在C#中拖放?
如何在我的程序和资源管理器之间实现拖放在C#中拖放?,c#,drag-and-drop,C#,Drag And Drop,如何在我的程序和资源管理器之间实现拖放 仅限windows应用程序有一篇关于CodeProject的好文章介绍了如何做到这一点: 此示例项目列出了一个文件夹 充满文件,并允许您拖放 将它们放入资源管理器。你也可以 从资源管理器拖动到示例中, 您可以使用Shift和Ctrl键 键来修改动作,就像 在浏览器中 开始将操作拖动到 Explorer,我们实现了itemrag 来自列表视图的事件 在拖动项目后调用 而不是几个像素。我们只是打电话 DoDragDrop传递要删除的文件 拖拽包装在数据对象中
仅限windows应用程序有一篇关于CodeProject的好文章介绍了如何做到这一点: 此示例项目列出了一个文件夹 充满文件,并允许您拖放 将它们放入资源管理器。你也可以 从资源管理器拖动到示例中, 您可以使用Shift和Ctrl键 键来修改动作,就像 在浏览器中 开始将操作拖动到 Explorer,我们实现了
itemrag
来自列表视图的事件
在拖动项目后调用
而不是几个像素。我们只是打电话
DoDragDrop
传递要删除的文件
拖拽包装在数据对象中
。你
我真的不需要理解
DataObject
-它实现
IDataObject
中使用的接口
沟通
只要您使用WinForms,它实际上非常简单。请参阅以下两篇文章开始学习:
以防万一,您正在使用WPF,应该会有所帮助。在拖动enter事件中添加此选项(这将在拖动文件时更改光标类型)
然后在DragDrop事件中,您需要处理您想要做的事情。
并将AllowDrop属性设置为true什么是“程序”?Windows应用程序?
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;
}