c# webbrowser 在新窗口打开变为 在当前窗口打开 使用axWebBrowser private void axWebBrowser1_NewWindow3(object sender, AxSHDocVw.DWebBrowserEvents2_NewWindow3Event e) { e.cancel = true; axWebBrowser1.Navigate(e.bstrUrl); } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 webBrowser1.Url = new System.Uri(???); new System.Uri(???); //???是你要跳转的地址的字符串比如."http://bbs.csdn.net" webBrowser的NewWindow是获取不到URL的 顶,webbrowser 的newwindow 不能获得url那什么能呢 //新标签打开新联接 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() //这个可以渠道你点击文字的连接,图片的话好像取不到 对了newurl 这个是在下面的时间中取的 private void webBrowser1_StatusTextChanged(object sender, EventArgs e) { WebBrowser web = (WebBrowser)tabWeb.SelectedTab.Controls[0]; toolStripStatusLabel1.Text = web.StatusText; newurl = web.StatusText.Trim(); } 楼上的方法还可以,但是flash的链接就不可以了,期待更好的方法。 可以在Navigating事件中截获比如 private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { string url = e.Url; //do something... e.Cancel = true; } 也是正在为这个问题犯愁,好像只有AxWebBrowser的NewWindow2事件中才能实现或者下载另外的控件,可程序写到一半,不想再更换了,麻烦死了。其实,分析一下html,也就是链接中有了target,_blank,我想能不能把这些给换成"_self"就可以了,可具体怎么实现还在考虑中 在网页的,这个可以的了,FLASH应该要其他的办法了. 关于进程监测的问题 C#.net在mvc2.0下的后台跳转问题 如何做一个摇奖软件?请教ing………… 关于TextBox的输出 输入参数查询后,当点击datagrid的分页页码时有获取了table所有的数据 高手指教:如何让textbox中第一位只能输入H,T??? RDLC 报表中的筛选器中的 Top N 怎么用? 请各位大虾帮下忙,小弟很急.请速回贴.. DataGrid绑定数据,使用SqlDataAdapter.Update()时的错误 socket.Receive 接收 阻塞 数据 的问题 ORA-00936: 缺少表达式 哪里可以下载platform sdk 帮助文档?
new System.Uri(???); //???是你要跳转的地址的字符串比如."http://bbs.csdn.net"
//新标签打开新联接
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() //这个可以渠道你点击文字的连接,图片的话好像取不到
{
WebBrowser web = (WebBrowser)tabWeb.SelectedTab.Controls[0];
toolStripStatusLabel1.Text = web.StatusText;
newurl = web.StatusText.Trim();
}
可以在Navigating事件中截获比如 private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
string url = e.Url;
//do something...
e.Cancel = true;
}
其实,分析一下html,也就是链接中有了target,_blank,我想能不能把这些给换成"_self"就可以了,可具体怎么实现还在考虑中