天天看點

webbrowser控制新視窗(點選超連結事件)

 1、點選超連結,建立Form。NewWindow2:

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 NewForm

{

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、點選超連結,在原webbrowser中打開新連結,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 Open

{

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");

}

}

}