获取拖动到Windows窗体表单中的文件的路径

mat*_*rix 29 c# drag-and-drop file winforms

我正在开发一个应用程序,它要求用户将文件从Windows资源管理器拖到应用程序窗口(Windows窗体表单).有没有办法在C#中读取文件的文件名,路径和其他属性?

Adr*_*ciu 36

您可以捕获DragDrop事件并从那里获取文件.就像是:

void Form_DragDrop(object sender, DragEventArgs e)
{
    string[] fileList = (string[])e.Data.GetData(DataFormats.FileDrop, false);

    //more processing
}
Run Code Online (Sandbox Code Playgroud)


S. *_*ees 6

你应该使用两个事件 1) DragDrop 2) DragEnter

还将面板/表单的“AllowDrop”属性启用为true

 private void form_DragEnter(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {
            e.Effect = DragDropEffects.Copy;
        }
        else
        {
            e.Effect = DragDropEffects.None;
        }
    }

    private void form_DragDrop(object sender, DragEventArgs e)
    {
        string[] filePaths= (string[])e.Data.GetData(DataFormats.FileDrop, false);
    }
Run Code Online (Sandbox Code Playgroud)