首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

WinForms WebBrowser 控制新視窗開啟頁面

     編輯:關於ASP.NET

核心技巧:NewWindow2 事件 + ActiveXInstance

WebBrowser 控制項封裝了 IE ActiveX,需轉型存取底層事件:

// 建構式中註冊
(this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow2 
    += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(Form1_NewWindow2);

// 事件處理:建立新 Form、指派 ActiveXInstance、顯示
void Form1_NewWindow2(ref object ppDisp, ref bool Cancel) {
    Form1 frm = new Form1();
    ppDisp = frm.webBrowser1.ActiveXInstance;  // 關鍵:將新視窗的 ActiveX 指派給 ppDisp
    frm.Show();
    Cancel = false; // false 表示允許新視窗
}

關鍵點

  • 必須引用 SHDocVw (COM: Microsoft Internet Controls)。
  • ppDisp 為 ref object,指派新表單的 ActiveXInstance 讓 IE 在該實例載入目標頁面。
  • 新表單需包含一個 WebBrowser 控制項且已初始化。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved