我的Windows窗体应用程序中有一个Web浏览器。当弹出窗口即将打开时,我使用此代码在父Web浏览器中打开弹出URL。
private SHDocVw.WebBrowser nativeBrowser;
//wb is the web browser control in the designer
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
nativeBrowser = (SHDocVw.WebBrowser)wb.ActiveXInstance;
nativeBrowser.NewWindow2 += nativeBrowser_NewWindow2;
nativeBrowser.NewWindow3 += nativeBrowser_NewWindow3;
}
private void nativeBrowser_NewWindow2(ref object ppDisp, ref bool Cancel)
{
ppDisp = wb.ActiveXInstance;
}
private void nativeBrowser_NewWindow3(ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl)
{
Cancel = true;
wb.Navigate(bstrUrl);
}
我正在使用Microsoft Internet Controls COM参考(1.1)。在某些情况下,将触发NewWindow3事件,在其他情况下,将触发NewWindow2事件。 NewWindow3事件中的代码运行良好,但是NewWindow2事件中的代码不起作用。在此事件中,我不知道如何获取网址。我怎么能得到它?
谢谢。