Создал производный класс:
class WebBrowserDrop : System.Windows.Forms.WebBrowser
Переопределил в нем метод OnDragDrop:
protected override void OnDragDrop( System.Windows.Forms.DragEventArgs drgevent )
{
base.OnDragDrop(drgevent);
System.Windows.Forms.MessageBox.Show(drgevent.ToString());
}
Попробовал перетащить в форму файл из Эксплорера — мой метод OnDragDrop не вызывается. Переопределил WndProc, опять перетащил файл, посмотрел оконные сообщения — нету там WM_DROPFILES! Получается, сообщение WM_DROPFILES вообще не приходит в окно, соответствующее объекту WebBrowser? А где найти нужное окно?
Странно, но когда это приложение было в Visual C++, никаких проблем не возникало.