webBrowser控制新窗口
时间:2010-10-15 来源:LT
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace WindowsApplication24
...{
public partial class Form1 : Form
...{
public Form1()
...{
InitializeComponent();
this.webBrowser1.Navigate("about:blank");
(this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow2 += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(Form1_NewWindow2);
}
private void button1_Click(object sender, EventArgs e)
...{
this.webBrowser1.Navigate("www.google.cn");
}
void Form1_NewWindow2(ref object ppDisp, ref bool Cancel)
...{
Form1 frm = new Form1();
ppDisp = frm.webBrowser1.ActiveXInstance;
frm.Show();
}
}
}
2、在当前窗体的web控件中直接加载,这个需要用到NewWindow3 事件。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace WindowsApplication24
...{
public partial class Form1 : Form
...{
public Form1()
...{
InitializeComponent();
this.webBrowser1.Navigate("about:blank");
(this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(Form1_NewWindow3);
}
void Form1_NewWindow3(ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl)
...{
Cancel = true;
this.webBrowser1.Navigate(bstrUrl);
}
private void button1_Click(object sender, EventArgs e)
...{
this.webBrowser1.Navigate("www.google.cn");
}
}
}
来源:csdn 作者:贾涛 责编:豆豆技术应用