Не забудьте заполнить поля событий формы "DragEnter" и "DragDrop", а также свойство "AllowDrop: true". На панель я поместил объект Label1, вот сюда.
// Это событие происходит, когда пользователь перетаскивает на форму с помощью мыши
// какой-либо объект во время операции перетаскивания
void Form_DragEnter(object sender, DragEventArgs e)
{
// Проверяем, что формат данных может быть принят
// (мы принимаем файлы только с Explorer'a, и др.)
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy; // Okay
else
e.Effect = DragDropEffects.None; // Непонятная штука, игнорируем её
}
// Происходит, когда пользователь отпускает кнопку мыши при перетаскивании
void Form_DragDrop(object sender, DragEventArgs e)
{
// Извлекает данные из DataObject-контейнера в список строк
string[] FileList = (string[])e.Data.GetData(DataFormats.FileDrop, false);
// Делаем что-либо с полученными данными...
// Например, добавляем файлы в label:
foreach (string File in FileList)
this.label1.Text += File + "n";
}