matrix
matrix

Reputation: 3080

Get the path of a file dragged into a Windows Forms form

I am developing an application which requires the user to drag a file from Windows Explorer into the application window (Windows Forms form). Is there a way to read the file name, path and other properties of the file in C#?

Upvotes: 36

Views: 43305

Answers (2)

Sayed M. Idrees
Sayed M. Idrees

Reputation: 1408

you Should Use Two Events 1) DragDrop 2) DragEnter

Also enable "AllowDrop" Property of Panel/form to 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);
    }

Upvotes: 5

Adrian Fâciu
Adrian Fâciu

Reputation: 12552

You can catch the DragDrop event and get the files from there. Something like:

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

    //more processing
}

Upvotes: 55

Related Questions