0
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
    string[] files = new string[] { @"C:\directory\of\file\to\copy.txt" };
    this.DoDragDrop(new DataObject(DataFormats.FileDrop,files), DragDropEffects.Copy);
} 

这是我使用的代码。

嗯,效果不错,但是想获取复制文件的目录。我怎样才能做到这一点?

4

2 回答 2

2

使用System.IO的静态Path类,您可以提取目录的路径

Path.GetDirectoryName(@"C:\Users\JNK\Desktop\2136D.png");
于 2012-07-21T14:21:33.317 回答
0

你得到的只是 DoDragDrop() 的返回值,以查看是否真的发生了下降。接收应用程序对该文件所做的事情是您无法找到的。可以是任何东西,包括根本不复制文件。一个随机的例子是仅在文本编辑器中打开文件,VS 和记事本的行为。

请注意您给出的示例如何仅从桌面拖动而不是拖动桌面。如果您需要知道用户想要复制文件的位置,请使用 FileBrowserDialog。

于 2012-07-21T14:45:39.487 回答