Judah's solution worked for me.
I've just spent two hours reading up on UAC, manifests and a whole bunch of stuff to solve this and got nowhere. The DragEnter would always fire but not the DragDrop event. I hadn't coded the full event, just set a message box to fire on the event.
I read Judah's post with skepticism but it worked. Thanks very much.
A snippet of code to illustrate (assuming you have a panel called "panelDropTarget" with "AllowDrop" property set to true):
private void panelDropTarget_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Move;
}
}
private void panelDropTarget_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
MessageBox.Show("DragDrop fired");
}
}