c# webbrowser 在新窗口打开变为 在当前窗口打开

starlizhi 2008-09-10 04:46:24
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
webBrowser1.Url = new System.Uri(???);
}
添加了new windows事件,可以拦截,但是??处的url是什么不知道了。
...全文
1367 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
piggerman 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jinjazz 的回复:]
引用 7 楼 starlizhi 的回复:
楼上的方法还可以,但是flash的链接就不可以了,期待更好的方法。


可以在Navigating事件中截获

比如

C# codeprivatevoid webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{string url= e.Url;//do something... e.Cancel=true;
}
[/Quote]

这个方法我试验过了,还是一不行的!!
yilutage 2009-04-13
  • 打赏
  • 举报
回复
mark
随风v5 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jinjazz 的回复:]
引用 7 楼 starlizhi 的回复:
楼上的方法还可以,但是flash的链接就不可以了,期待更好的方法。


可以在Navigating事件中截获

比如


C# code private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
string url = e.Url;
//do something...
e.Cancel = true;
}
[/Quote]
在网页的,这个可以的了,FLASH应该要其他的办法了.
powerzzq 2009-02-17
  • 打赏
  • 举报
回复
也是正在为这个问题犯愁,好像只有AxWebBrowser的NewWindow2事件中才能实现或者下载另外的控件,可程序写到一半,不想再更换了,麻烦死了。
其实,分析一下html,也就是链接中有了target,_blank,我想能不能把这些给换成"_self"就可以了,可具体怎么实现还在考虑中
jinjazz 2008-12-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 starlizhi 的回复:]
楼上的方法还可以,但是flash的链接就不可以了,期待更好的方法。
[/Quote]

可以在Navigating事件中截获

比如

 private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
string url = e.Url;
//do something...
e.Cancel = true;
}
iwlk 2008-12-08
  • 打赏
  • 举报
回复
关注
starlizhi 2008-09-11
  • 打赏
  • 举报
回复
楼上的方法还可以,但是flash的链接就不可以了,期待更好的方法。
cc_net 2008-09-10
  • 打赏
  • 举报
回复
对了newurl 这个是在下面的时间中取的

private void webBrowser1_StatusTextChanged(object sender, EventArgs e)
{
WebBrowser web = (WebBrowser)tabWeb.SelectedTab.Controls[0];
toolStripStatusLabel1.Text = web.StatusText;
newurl = web.StatusText.Trim();
}

cc_net 2008-09-10
  • 打赏
  • 举报
回复

//新标签打开新联接
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
//生成新的tabpage
System.Windows.Forms.TabPage webPage3 = new TabPage();
webPage3.Location = new System.Drawing.Point(4, 21);
webPage3.Name = "webPage3";
webPage3.Padding = new System.Windows.Forms.Padding(3);
webPage3.Size = new System.Drawing.Size(720, 310);
webPage3.TabIndex = 1;
webPage3.Text = "空白";
webPage3.UseVisualStyleBackColor = true;

//生成新的WebBrowser
System.Windows.Forms.WebBrowser webBrowser3 = new WebBrowser();
webBrowser3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
webBrowser3.Location = new System.Drawing.Point(-4, 0);
webBrowser3.MinimumSize = new System.Drawing.Size(20, 20);
webBrowser3.Name = "webBrowser3";
webBrowser3.Size = new System.Drawing.Size(724, 314);
webBrowser3.TabIndex = 0;
//把生成的控件填加到窗体
webPage3.Controls.Add(webBrowser3);
tabWeb.TabPages.Add(webPage3);
tabWeb.SelectTab(webPage3);

//邦定的事件
WebBrowser web = (WebBrowser)tabWeb.SelectedTab.Controls[0];
webBrowser3.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webDocumentCompleted);
webBrowser3.NewWindow += new CancelEventHandler(webBrowser1_NewWindow);
webBrowser3.StatusTextChanged +=new EventHandler(webBrowser1_StatusTextChanged);
webBrowser3.ProgressChanged +=new WebBrowserProgressChangedEventHandler(webBrowser1_ProgressChanged);
webBrowser3.Navigate(newurl);
webPage3.Text = webBrowser3.DocumentTitle;
e.Cancel = true; //取消打开。因为前面已经用新页面打开了
}


这个是新建一个标签和一个WebBrowser 打开连接
你要本窗口打开webBrowser3 换成你 当前的名字就OK了,也就不用新的了

newurl = web.StatusText.Trim() //这个可以渠道你点击文字的连接,图片的话好像取不到
starlizhi 2008-09-10
  • 打赏
  • 举报
回复
顶,webbrowser 的newwindow 不能获得url那什么能呢
ZengHD 2008-09-10
  • 打赏
  • 举报
回复
webBrowser的NewWindow是获取不到URL的
hm7921936 2008-09-10
  • 打赏
  • 举报
回复
webBrowser1.Url = new System.Uri(???);
new System.Uri(???); //???是你要跳转的地址的字符串比如."http://bbs.csdn.net"
ZengHD 2008-09-10
  • 打赏
  • 举报
回复
使用axWebBrowser

private void axWebBrowser1_NewWindow3(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow3Event e)
{
e.cancel = true;
axWebBrowser1.Navigate(e.bstrUrl);
}

110,567

社区成员

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

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

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