Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
WebBrowserコントロールで新しいウィンドウを開く
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=2568#CommentId20099
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 ()
投稿日時
2008/9/4 06:30:00
「別ウィンドウで開く」を WebBrowser に開かせるのは、実は技術的には難しい部類に入ります。(VB6やVB2003なら、比較的簡単だったのですけれども)
正攻法で処理するのであれば、WebBrowser が持つ NewWindow2/NewWindow3 というイベントにて、引数 ppDisp に、自分で開いたウィンドウを渡してやれば良いのですが、VB2008版のWebBrowser では、そのイベントが公開されていないためです。
http://support.microsoft.com/kb/184876/
対策としては、このあたり:
(案1) System.Windows.Forms.WebBrowser を使うのでは無く、ActiveX版 WebBrowser のNewWindow2 を使う。
http://support.microsoft.com/kb/311282/
(案2) WebBrowser.CreateSinkメソッドを下記のように実装して、NewWindow2 を呼び出す。
http://homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserNewWindow2Event.htm
(案3) WebBrowserを丸ごと再実装。
http://tinyurl.com/NewWindow2