フォーム上のAxWebBrowserから、「Shiftキー+クリック」「target="_blank"」「javascriptのopen()」などの方法で、新しいウィンドウが作成される際、IEではなく自分のフォームで新しいウィンドウを開く方法
- NewWindow2イベントを処理するハンドラを書く。VS.NETの場合、デザイナから「AxWebBrowserのプロパティ」→「イベント表示に切り替え」→「NewWindow2をダブルクリック」。
- AxWebBrowserを持つ新しいフォームをnewし、AxWebBrowser::RegisterAsBrowserをtrueにする。
- イベントオブジェクトのメンバppDispにAxWebBrowser::Applicationを設定する。
private void axWebBrowser_NewWindow2(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow2Event e)
{
自前フォームクラス f = new 自前フォームクラス();
f.WebBrowser.RegisterAsBrowser = true;
e.ppDisp = f.WebBrowser.Application;
f.Visible = true;
}
>> Home