投稿者 魔界の仮面弁士  () 投稿日時 2008/9/4 20:44:00
>>5 
> このActiveX版 WebBrowserは、どこで入手できるんですか?  
既にお持ちですよ。そもそも.NET版WebBrowserは、内部でこのActiveX(COM)版を呼び出しているに過ぎませんし。 
 
利用方法は、[ツールボックス アイテムの選択]画面から[COM コンポーネント]タブを開き、その一覧から[Microsoft Web Browser]を選択すれば OK です。 
ただしCOM版を使うと、OS/IEへのバージョン依存性が高くなる事に注意してください。(たとえば NewWindow3 イベントは、WindowsXP Service Pack 2 以降でしか機能しません) 
 
そのため、個人的には[案2]の実装方法を推奨しておきます。 
 
> また、これって非標準コントロールなんですか?  
"Internet Explorer 3.0 (32ビット版)"以降に標準で含まれています。 
.NET Framework が動作する環境であれば、最低でも Internet Explorer 5.01 が含まれていますので、間違いなく使用できるかと。 
 
 
> これから開こうとしているファイルの絶対パス 
『絶対パス』というのが、URL の事を意味しているのであれば、 
.NET版なら、Navigatingイベントの引数 e.URL にて得られます。 
COM版なら、BeforeNavigate2 イベントの第二引数から得られます。 
 
ただし別ウィンドウ表示への対応という目的に対しては、URL だけが分かってもまだ不足です。 
セッション情報の引継ぎや target 指定なども考慮しなければならない事を考えると、正攻法(NewWindow2/NewWindow3イベント)で対処するのが、結局は近道となるでしょう。 
 
 
>>4 
> ProtectedなメソッドにOnNewWindowはありますが、キャンセルできるだけですね。  
これは利用側にとっては、NewWindow イベントのことですね。