我有一个在 .NET 2 上编写的 WinForms 程序,它托管一个 webbrowser 控件并从已知服务器呈现 asp.net 页面。
我希望能够将我的 winforms 应用程序中的树视图中的树节点拖到托管网页中的特定位置,并让它在那里触发一个 javascript 事件。目前,我可以IDocHostUIHandler
在浏览器控件上实现接口并获取拖放事件,然后Navigate("javascript:fire_event(...)")
在控件上调用以在页面上执行脚本。但是,我希望这仅在我将数据放在页面的特定部分时才起作用。
我想,一种解决方案是咬紧牙关,以 activex 控件的形式编写自定义浏览器插件,将其嵌入到我想要拖放到的位置,并让它实现所需的拖放接口。
那行得通吗?有更清洁的方法吗?我可以利用浏览器控件托管在我的应用程序中这一事实并提供更深层次的交互吗?