爲了不讓程序調用其他默認的Web瀏覽器,需要重載WebBrowser的NewWindow事件。然後做如下修改:
// 禁止彈出窗口
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
WebBrowser wb = (WebBrowser)sender;
string url = wb.Document.ActiveElement.GetAttribute("href");
webBrowser1.Navigate(url);
}
vb.net版
希望高手指點下如何實現在c#.net下實現這個功能
下面是我在網上搜索到的一篇文章不過是關於vb.net的::::
webbrowser捕獲newwindow事件打開的鏈接2007-05-07 12:27有很多人希望通過WebBrowser控件製作自己個性化的瀏覽器,但當點擊
網頁中的鏈接打開新窗口時總是打開默認的IE窗口.
很多朋友讓webbrowser捕獲newwindow事件的打開鏈接搞得頭痛.
其實捕獲newwindow事件的打開鏈接很容易做到只要如下代碼一看就清楚了.
代碼是在點擊鏈接如是打開新窗口時就會在自己程序的一個窗口中打開,而不會打開
IE窗口了.無論是什麼方式打開的新窗口都可以準確的獲得當前打開鏈接的地址url.
Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
REM 本代碼出自羅漫年華,http://hi.baidu.com/fronthua
Dim urlNew As String = sender.Document.ActiveElement.GetAttribute("href")
Dim newForm As New Form1
e.Cancel = True
newForm.Show()
newForm.WebBrowser1.Navigate(urlNew)
End Sub
參考鏈接: http://bbs.csdn.net/topics/110070297`