拖放到托管浏览器控件

我有一个写在.NET 2上的WinForms程序,它托管一个webbrowser控件并从一个已知的服务器呈现asp.net页面。

我希望能够将我的winforms应用程序中的树状结构中的树节点拖放到托管网页中的特定位置,并让它在那里触发一个JavaScript事件。 目前,我可以实现 IDocHostUIHandler 接口,并在浏览器控件上获取拖放事件,然后调用 Navigate(“javascript:fire_event(...)”)控制在页面上执行脚本。但是,我希望这只在我将数据放在页面的特定部分时才起作用。

我想,一种解决方案就是咬住子弹并以activex控件的形式编写自定义浏览器插件,将其嵌入到我想要放置的位置,并让它实现所需的拖放接口。

这会起作用吗? 有更清洁的方法吗?我是否可以利用浏览器控件托管在我的应用程序中并提供进一步级别的交互?

0

2 答案

看看雅虎的 BrowserPlus 项目。

看起来他们已经构建了一个工具包,以便您不必自己编写浏览器插件。

0
额外

如果您可以找出感兴趣的页面部分的屏幕位置,则可以在收到放置事件时将其与鼠标的位置进行比较。我不确定这是多么实际,如果你可以从DOM或其​​他东西获取信息。

作为替代方案,您可以使用JavaScript在页面的位上实现鼠标事件吗?

0
额外