2010-04-09 42 views
1

我在C#winforms應用程序中託管WebBrowser控件。點擊主頁面上的按鈕後,應用程序會打開一個新窗口,並將所有操作都放在新窗口中。從C#宿主應用程序,我如何訪問新瀏覽器窗口的文檔? we.bbrowser的Document屬性仍然給我原始文檔而不是新窗口的文檔。Webbrowser控件訪問新窗口的文檔

任何幫助極大讚賞

+0

你有多選項卡WebBrowser?或新的鏈接在IE中打開?你能提供一些代碼嗎? – 2010-04-10 11:43:53

回答

3

我在谷歌搜索後找到了答案。

SHDocVw.WebBrowser_V1 browser = webBrowser.ActiveXInstance as SHDocVw.WebBrowser_V1; 
browser.NewWindow += new SHDocVw.DWebBrowserEvents_NewWindowEventHandler(browser_NewWindow); 

void browser_NewWindow(string URL, int Flags, string TargetFrameName, 
         ref object PostData, string Headers, ref bool Processed) 
{ 
    Processed = true; 
    this.webBrowser.Navigate(URL); 
} 

訣竅是原生窗口的事件處理程序,並做webBrowser.Nagivate將使其在當前窗口本身導航。

要使用SHDocVw命名空間必須將Microsoft Internet控件COM對象添加到項目引用。