2012-02-22 44 views
2

問題を再現するために古いプロジェクトのAxShDocVW.dllに問題があり、新しいVB.Netフォームプロジェクトを作成し、WebBrowserコントロールをそのプロジェクトにドロップしました。私は参照がShDocVwを含んでいるが、私の古いプロジェクトのようにAxShDocVwを含んでいないことに気づいた。また、私の古いプロジェクトから次の行をコピーしたとき、(自然に)それを認識しませんでした。ウェブ上のページの束を通して読むは、AxShDocVw.AxWebBrowserは推奨されていませんか?

Dim WithEvents MyWebBrowserMain As New AxSHDocVw.AxWebBrowser 

、私はAxShDocVw.AxWebBrowserは廃止された印象を受けます。これは本当ですか?もしそうなら、代替案は何ですか?

Dim WithEvents MyWebBrowserMain As New SHDocVw.WebBrowser 

が、これは、例えば制限があり、私はその後MyWebBrowserMain.Location =新しいポイント(...

を行うことができず、私も発見した:

はまた、私が行うことができています:

Dim WithEvents MyWebBrowserMain As New System.Windows.Forms.WebBrowser 

しかし、それはそれを行うには正しい方法は何ですか?私は混乱しています!!

ありがとう、 アニル

答えて

4

全く正しい方法はありません...あなたはタイプライブラリで

AxSHDocVw行う予定何に依存します:ます。aximpからまたはVisual StudioのWindowsは、古いものを使用して、ツールボックスをフォーム生成COMプロキシラッパーDLLをIEタイプライブラリ(IE7はAxWebBrowserをSHDocVwではなくIEFramed.dllから公開します)。 Windows Formsアプリケーションに適しています。

SHDocVw:tlbimpまたは[参照の追加]ダイアログボックスの[COM]タブから生成されたCOMプロキシラッパーdll。古いIEタイプライブラリを使用します。

Windowsフォームを使用している場合は、拡張ポイントの数がニーズを満たしていない場合を除き、フレームワークが2.0以上の場合はSystem.Windows.Forms.WebBrowserを使用する必要があります。次にActiveXバージョンをホストする必要があります直接。

Visual Studioが正しくインストールされていて、IEのタイプライブラリへの新しい参照を追加すると、COMリファレンスがおそらくMicrosoftのPIA microsoft.mshtml.dllを使用するように変更されます。 Using this reference on IE6 machines is not recommended.

+0

拡張ポイントの数があなたのニーズを満たしていない場合を除いて説明してください。拡張ポイントとは何ですか? – Chiwda

+0

また、すべてのコードをSystem.Windows.Forms.WebBrowserに変更すると、プロジェクト参照からAxShDocVwおよびShDocVwへのすべてのレフェンスを削除できますか? Thanx(ヘルプ) – Chiwda

+2

必要なカスタマイズのレベルによって、詳細についてはWindows SDKの「Webブラウザのカスタマイズ」を検索してください。 Windowsフォームのラッパーコントロールでは、IDocHostUIHandlerの実装を変更することができず、スクリプトエンジン、ドキュメント、ウィンドウ、および要素へのアクセスが制限されています。 Windowsフォームのラッパーコントロールによって提供される機能のみを使用している場合は、ActiveXを自分でホストする必要はありません。 –

関連する問題