【问题标题】:Drag and Drop to a hosted Browser control拖放到托管的浏览器控件
【发布时间】:2010-09-05 12:18:58
【问题描述】:

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

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

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

这行得通吗? 有更清洁的方法吗?我可以利用浏览器控件托管在我的应用程序中这一事实并提供更深层次的交互吗?

【问题讨论】:

    标签: c# browser


    【解决方案1】:

    看看雅虎的BrowserPlus 项目。

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

    【讨论】:

      【解决方案2】:

      如果您能找出您感兴趣的页面部分在屏幕上的位置,您可以将其与收到 drop 事件时鼠标的位置进行比较。如果您可以从 DOM 或诸如此类的东西中获取信息,我不确定这有多实用。

      作为替代方案,您是否可以使用 javascript 在页面的某个位上实现鼠标事件?

      【讨论】:

        猜你喜欢
        • 2019-10-10
        • 1970-01-01
        • 1970-01-01
        • 2012-10-29
        • 1970-01-01
        • 2011-03-31
        • 1970-01-01
        • 2012-02-04
        • 1970-01-01
        相关资源
        最近更新 更多