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