Проблема с удалением элемента в компоненте WebBrowser - PullRequest
0 голосов
/ 29 августа 2011

Я хотел бы добавить некоторые элементы управления из определяемой пользователем панели инструментов в компонент WebBrowser.Поскольку этот компонент не поддерживает перетаскивание, я использую оболочку для перехвата DragEnter, DragOver, ... Этот метод работал нормально, хотя приложение все еще было настроено для работы в .NET Framework 2.0.

По некоторым причинамМне пришлось обновить до .Net Framework 4.0.Вся функциональность перетаскивания с моей оберткой нарушена.Никакие события не вызваны вообще.Такие события, как "навигация", по-прежнему работают нормально ...

Я уже искал возможный ответ и пробовал несколько вещей, но не мог это исправить.У кого-нибудь есть подсказка?В настоящее время я думаю о реализации оболочки, указанной в: Codeproject

Спасибо за ваше время!

РЕДАКТИРОВАТЬ 1 (& 2): я продолжил поиск ответов иобнаружил следующее:

  1. Событие DragEnter должно быть запущено где-то, потому что в браузере появляется правая иконка.Этот значок появляется только тогда, когда DragDropEffect установлен правильно.Но я не могу найти обработчик для события DragEnter (или другого).

  2. Я пытался перетащить нужный элемент в другую часть экрана.Эта часть экрана не содержит большого количества компонентов, поэтому было довольно легко реализовать там действие перетаскивания.И это работало нормально.Я был в состоянии получить объект из EventArgs.Но он все еще не работает с компонентом webbrowser.

Может быть, эти подсказки помогут вам разобраться с этой проблемой.

1 Ответ

0 голосов
/ 22 сентября 2011

Первый способ, с помощью которого я начал работать, - это добавить некоторые события и обработчики в коде javascript.Я установил следующие события:

  • ondragenter
  • ondragover
  • ondragleave
  • ondrop (НЕ ondragdrop !!!)

Обрабатывая эти события в javascript и отправляя событие в C # -код, я мог обрабатывать эти события как хотел.

Чтобы добраться до элемента управления, который я перетаскиваю, я реализовал небольшой «буфер обмена».С помощью этого статического класса я могу удерживать перетаскиваемый элемент управления и получать к нему доступ из кода onDragEnter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...