webBrowser弹出窗口问题
C#.NET 2010,使用webBrowser控件时遇到的问题:
1、新建一个工程;
2、引入Microsoft Internet Control 组件(在COM下);
3、在Form1上添加webBrowser组件,并设置URL;
4、新增加一个Form,名称为FrmBaseBrowser,在上面添加webBrowser控件;
5、在Form1的代码内输入以下代码:
public Form1()
{
InitializeComponent();
this.webBrowser1.AllowWebBrowserDrop = false;
var nativeBrowser = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
nativeBrowser.NewWindow2 += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(nativeBrowser_NewWindow2);
}
void nativeBrowser_NewWindow2(ref object ppDisp, ref bool Cancel)
{
FrmBaseBrowser frm = new FrmBaseBrowser(); //事先建好一个带WebBrowser的窗体
frm.Show();
ppDisp = frm.webBrowser1.ActiveXInstance;
}
private void Form1_Load(object sender, EventArgs e)
{
axWebBrowser1.Navigate("https://www.google.com.au");
}
private void axWebBrowser1_NewWindow2(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow2Event e)
{
Form1 frmWB = new Form1();
frmWB.axWebBrowser1.RegisterAsBrowser = true;
e.ppDisp = frmWB.axWebBrowser1.Application;
frmWB.Visible = true;
}