2010-04-09 105 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对象添加到项目引用。