2010-08-03 49 views
8

我正在寻求为用户提供将我的应用程序中的网格和其他控件的拖放文件拖放到资源管理器中的功能。 任何好的样品/文章?拖放从.NET应用程序到资源管理器

+0

下面是来自微软论坛http://social.msdn.microsoft.com/forums/en-US/winforms/thread/f57ffd5d-0fe3-4f64-bfd6-428f58998603/一些信息。我找到了一堆相关文章[用这篇文章的标题搜索](http://www.bing.com/search?q=Drag+Drop+from+.NET+application+to+Explorer&go=&form=QBLH&filt=所有&qs = n&sk =) – btlog 2010-08-03 17:33:25

回答

7

这是相当直接的,只需要调用的DoDragDrop在MouseDown事件。您需要磁盘上的实际文件才能运行。

private void Form1_MouseDown(object sender, MouseEventArgs e) { 
    string[] files = new string[] { @"c:\temp\test.txt" }; 
    this.DoDragDrop(new DataObject(DataFormats.FileDrop, files), DragDropEffects.Copy); 
} 
+0

此方法除了干扰其他事件(如双击项目并单击并拖动到多重选择)之外,完美工作。有没有办法解决这个问题? – Stoopkid 2014-09-05 08:19:52

+2

当然,请使用MouseMove事件,并且在移动足够远之前不要开始拖动。不是这个问题的主题。 – 2014-09-05 09:38:29

相关问题