首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# webbrowser 如何强制在新窗口打开链接啊

2012-04-17 
C# webbrowser 怎么强制在新窗口打开链接啊?有个网页一定要在新窗口才能打开,C# webbrowser中怎么才能强制

C# webbrowser 怎么强制在新窗口打开链接啊?
有个网页一定要在新窗口才能打开,C# webbrowser中怎么才能强制在新窗口打开链接呢?我可以模拟左键去点击这个链接,但是是在当前网页打开的,而且是白屏,自己去手动“右键-在新窗口打开”出现一个新的webbrowser窗口就可以正常显示了,但是我想它自己去完成,不需要人来操作。要是可以模拟“右键-在新窗口打开”就好了啊!!

[解决办法]
WebBrowser.Navigate 方法
WebBrowser.Navigating 事件
WebBrowserNavigatingEventArgs 类
[解决办法]
方法一:
webBrowser处理新窗口,默认会调用系统默认浏览器,本文介绍如何在自定义窗体打开新窗口? 

先用webBrowser的NewWindow事件捕获新窗口要打开的URL,然后把它设置为自定义新窗口的URL,并打开自定义新窗口,接着取消用系统默认浏览器打开新窗口的动作。 

示例代码: 

C# code
private void webBrowser_NewWindow(object sender, CancelEventArgs e)        {            Form1 newForm = new Form1();            string url = ((WebBrowser)sender).StatusText;            //string url = ((WebBrowser)sender).Document.ActiveElement.GetAttribute("href");第二种方式            newForm.webBrowser1.Navigate(url) ;            newForm.show();            e.Cancel = true;        }
[解决办法]
HtmlElementCollection hc = this.webBrow.Document.Links;
foreach (HtmlElement he in hc)
{
if (he.GetAttribute("href").Contains(""))
{
he.SetAttribute("", "");
}
}
WebBrowser控件弹出新窗体
[解决办法]
探讨
HtmlElementCollection hc = this.webBrow.Document.Links;
foreach (HtmlElement he in hc)
{
if (he.GetAttribute("href").Contains(""))
{
he.SetAttribute("", "");
}
}
WebBrowser控件弹出新窗……

[解决办法]
对了,刚才使用截图的,你不好复制,再发一份:

C# code
/// <summary>        /// 查找连接        /// </summary>        /// <param name="dcoument"></param>        /// <returns></returns>        public static string FindHref(HtmlDocument dcoument)        {            string href = null;            var el = dcoument.ActiveElement;            if (el.TagName.IndexOf("frame", StringComparison.CurrentCultureIgnoreCase) > -1)            {                if (!string.IsNullOrEmpty(el.Id))                {                    var frame = dcoument.Window.Frames[el.Id];                    href = FindHref(frame.Document);                }            }            else            {                href = el.GetAttribute("href");                if (string.IsNullOrEmpty(href) ||                    href.IndexOf("http://", StringComparison.CurrentCultureIgnoreCase) < 0)                {                    href = null;                }            }            return href;        }
[解决办法]
你点击我前面的留言,我们用QQ说。

感谢你一直以来的支持,欢迎使用《Csdn收音机》!

[解决办法]

[解决办法]
试试Navigate(String, Boolean)的重载形式,第二个参数为true,则导航的页面将使用新窗口打开,效果和右键点击新窗口打开一样,只不过还是用webbrowser显示。

热点排行