Tengo un programa de WinForms escrito en .NET 2 que aloja un control de navegador web y representa páginas asp.net desde un servidor conocido.Arrastrar y colocar en un control de navegador alojado
Me gustaría poder arrastrar, por ejemplo, un nodo de árbol desde una vista de árbol en mi aplicación de winforms a una ubicación específica en la página web alojada y hacer que active un evento de javascript allí. Actualmente, puedo implementar la interfaz IDocHostUIHandler
y obtener eventos drag \ drop en el control del navegador, luego llamar al Navigate("javascript:fire_event(...)")
en el control para ejecutar una secuencia de comandos en la página. Sin embargo, quiero que esto funcione solo cuando dejo caer datos en una parte específica de de la página.
Una solución, supongo, sería hacer de tripas corazón y escribir un plugin para el navegador personalizado en la forma de un control ActiveX, incrustar que en el lugar que quiero caer a y dejar que implementan las interfaces de arrastrar \ necesarios .
¿Eso funcionaría? ¿Hay un enfoque más limpio? ¿Puedo aprovechar el hecho de que el control del navegador está alojado en mi aplicación y proporcionar un mayor nivel de interacción?