我在C#winforms应用程序中托管WebBrowser控件。单击主页面上的按钮后,应用程序将打开一个新窗口,并在新窗口中执行所有操作。从C#主机应用程序如何访问新浏览器窗口的文档? we.bbrowser的Document属性仍然给我原始文档而不是新窗口的文档。
任何帮助非常感谢
答案 0 :(得分: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 Controls COM对象添加到项目引用中。