У меня есть программа WinForms, написанная на .NET 2, которая содержит элемент управления веб-браузером и отображает страницы asp.net с известного сервера.
Я хотел бы иметь возможность перетаскивать дерево дерева node из дерева в моем приложении winforms в определенное место на размещенной веб-странице и запускать там javascript-событие.
В настоящее время я могу реализовать интерфейс IDocHostUIHandler
и получить события перетаскивания \drop в элементе управления браузера, а затем вызвать Navigate("javascript:fire_event(...)")
в элементе управления для выполнения script на странице. Однако я хочу, чтобы это работало только тогда, когда я удалял данные на определенной части страницы.
Одним из решений, я полагаю, было бы укусить пулю и написать собственный плагин для браузера в виде элемента управления activex, внедрить его в место, куда я хочу отказаться, и позволить этому реализовать необходимые интерфейсы drag\drop.
Будет ли это работать? Есть ли более чистый подход? Могу ли я воспользоваться тем фактом, что элемент управления браузером размещен в моем приложении и обеспечивает некоторый дополнительный уровень взаимодействия?