There are lots of sites explaining how to do this, that's for sure, and it ain't difficult at all. But why not annotate it in a blog?
The goal is to have a C# application that accepts files (or folders) as input by means of drag & drop. The steps are:
1.- Set the value of the
AllowDrop property to
true in the control you want to serve as a drop target. (The whole form does have that property as well, if you want to receive files anywhere).
2.- Implement the
DragEnter event for the control or form you've chosen:
if(e.Data.GetDataPresent(DataFormats.FileDrop, false) == true)
e.Effect = DragDropEffects.All;
The previous lines intend to verify that the user is dropping files, nor text or something else. But the condition is up to you; anyway, you must return a
DragDropEffectsconstant that allows the user to drop if that's the case.
3.- Actually accept the data (and do whatever you wanted with it) by implementing the
DragDropevent on the chosen control or form. The
DragEventArgsparameter is the key. This is but an example:
string filenames = (string)e.Data.GetData(DataFormats.FileDrop);
The rest is up to you.