Я пишу приложение Windows Forms (C#), у которого есть элемент управления WebBrowser (среди нескольких других кнопок и текстовых полей). Я хочу, чтобы иметь возможность удалить файл в любом месте формы. Проблема в том, что по умолчанию WebBrowser будет пытаться отобразить любой файл в свой контроль; Я не хочу этого, поскольку сначала мне нужно выполнить предварительную обработку файла. Элемент управления WebBrowser предоставляет свойство с именем AllowWebBrowserDrop, для которого я настроен на false, чтобы отключить это поведение. Однако результат заключается в том, что я ничего не могу потерять в элементе управления WebBrowser (обратная связь «не допускается»). Элемент управления WebBrowser занимает большую часть пространства, поэтому он был бы хромым, если бы вы где-то должны были отбросить файл в свободном пространстве. Как я могу включить удаление файла в любом месте в моей форме, если элемент управления WebBrowser не попытается его отобразить?Перетащите на форму (но не элемент управления WebBrowser в форме)
Я думаю, я должен добавить, что у меня есть AllowDrop на моей форме, установленной в true, и имеют обработчики для DragEnter и DragDrop. У меня есть AllowWebBrowserDrop на моем WebBrowser, установленном на false. Все остальное имеет настройки по умолчанию.
imo, это, скорее всего, поможет поймать событие drop, но также может сломать приложение, поскольку winforms только «подделывает» прозрачные фоны. Вероятно, это также исключает другие важные события. – 2010-12-15 21:34:22
, возможно, переписывает события WndProc и forward _all_ в базовый WebBrowser, за исключением случая, когда событие Drop может работать. – 2010-12-15 21:36:06