webbrowser捕获newwindow事件打开的链接

曾经的阿飞 2007-05-15 12:02:20
我就想实现"WebBrowser控件制作自己个性化的浏览器,但当点击
网页中的链接打开新窗口时总是打开默认的IE窗口."这个功能,在网上搜索了很多,很多都是关于vb.net的,还有很多人说用BeforeNavigate事件,我在msdn上搜索了下WebBrowser没有这个事件.

希望高手指点下如何实现在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


...全文
1480 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
denghualiang 2008-05-03
  • 打赏
  • 举报
回复
如果是这样的话..那不是所有的链接都始终打开新窗口??
yiyaoyao58958 2008-04-21
  • 打赏
  • 举报
回复


private void webB_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
Form1 newFrm = new Form1();//Form1含有webbrowser
newFrm.webB.Navigate(webB.Document.ActiveElement.GetAttribute("href"));
newFrm.ShowDialog();
}
王集鹄 2007-05-16
  • 打赏
  • 举报
回复
通常是这样
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
MessageBox.Show(webBrowser1.StatusText);
e.Cancel = true;
}
不过webBrowser1.StatusText并不保险,还是参考这个例子:
http://www.codeproject.com/csharp/ExtendedWebBrowser.asp
曾经的阿飞 2007-05-16
  • 打赏
  • 举报
回复
希望高手能够解答一下
曾经的阿飞 2007-05-16
  • 打赏
  • 举报
回复
自己顶一个

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧