j'ai un programme WinForms écrit sur .NET 2 qui héberge un contrôle WebBrowser et rend les pages asp.net à partir d'un serveur connu. Je voudrais être capable de faire glisser, disons, un nœud d'arbre depuis une vue arborescente dans mon application winforms vers un emplacement spécifique dans la page Web hébergée et d'y déclencher un événement javascript. Actuellement, je peux implémenter l'interface IDocHostUIHandler
et obtenir des événements glisser-déposer de \ sur le contrôle du navigateur, puis appelez Navigate("javascript:fire_event(...)")
sur le contrôle d'exécuter un script sur la page. Cependant, je veux que cela fonctionne seulement quand je dépose des données sur une partie spécifique de de la page. Une solution, je suppose, serait de mordre la balle et écrire un plugin de navigateur personnalisé sous la forme d'un contrôle ActiveX, l'intégrer à l'endroit où je veux passer et laisser implémenter les interfaces drag \ drop nécessaires .glisser-déposer à un contrôle du navigateur hébergé
Est-ce que cela fonctionnerait? Y a-t-il une approche plus propre? Puis-je profiter du fait que le contrôle du navigateur est hébergé dans mon application et fournir un niveau d'interaction supplémentaire?