18

Webブラウザコントロールをホストし、既知のサーバーからasp.netページをレンダリングする.NET 2で書かれたWinFormsプログラムがあります。

たとえば、winforms アプリのツリービューからツリー ノードを、ホストされている Web ページの特定の場所にドラッグして、そこで JavaScript イベントをトリガーできるようにしたいと考えています。現在、IDocHostUIHandlerインターフェイスを実装し、ブラウザー コントロールでドラッグ アンド ドロップ イベントを取得してNavigate("javascript:fire_event(...)")から、コントロールを呼び出してページ上でスクリプトを実行できます。ただし、ページの特定の部分にデータをドロップした場合にのみこれを機能させたいと考えています。

1つの解決策は、弾丸を噛んでカスタムブラウザプラグインをactivexコントロールの形式で作成し、それをドロップしたい場所に埋め込み、必要なドラッグ/ドロップインターフェイスを実装させることだと思います.

それはうまくいくでしょうか?よりクリーンなアプローチはありますか?ブラウザー コントロールがアプリでホストされているという事実を利用して、さらにレベルの高い操作を提供できますか?

4

2 に答える 2

3

Yahoo のBrowserPlusプロジェクトを見てみましょう。

ブラウザー プラグインを自分で作成するという骨の折れる作業を行う必要がないように、彼らはツールキットを作成したようです。

于 2008-08-07T20:39:07.797 に答える
1

関心のあるページの部分の画面上の位置を見つけることができれば、これをドロップ イベントを受け取ったときのマウスの位置と比較できます。DOMなどから情報を取得できる場合、これがどれほど実用的かはわかりません。

別の方法として、javascript を使用してページの一部にマウス イベントを実装できますか?

于 2008-08-27T04:52:30.250 に答える