Reputation: 3080
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
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
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