为了不让程序调用其他默认的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`
|