首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WinForms WebBrowser控件:强制所有链接在新(IE)窗口中外部打开

WinForms WebBrowser控件:强制所有链接在新(IE)窗口中外部打开

在Windows Forms应用程序中,WebBrowser控件用于承载和显示网页。默认情况下,WebBrowser控件使用Internet Explorer渲染引擎。但是,在某些情况下,可能需要在新的(IE)窗口中打开所有链接。以下是如何实现此功能的方法:

  1. 使用WebBrowser控件的Navigating事件。

在WebBrowser控件的Navigating事件中,可以检查导航到的URL,并根据需要取消导航。然后,可以使用Process.Start方法打开新的(IE)窗口。

代码语言:csharp
复制
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    if (e.Url.ToString().StartsWith("http"))
    {
        e.Cancel = true;
        Process.Start("iexplore.exe", e.Url.ToString());
    }
}
  1. 使用WebBrowser控件的DocumentCompleted事件。

在WebBrowser控件的DocumentCompleted事件中,可以遍历HTML文档中的所有链接,并将它们的目标属性更改为“_blank”。这将导致在新的(IE)窗口中打开链接。

代码语言:csharp
复制
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    foreach (HtmlElement link in webBrowser1.Document.Links)
    {
        if (link.GetAttribute("href").StartsWith("http"))
        {
            link.SetAttribute("target", "_blank");
        }
    }
}

这两种方法都可以实现在新的(IE)窗口中打开所有链接。您可以根据自己的需求选择其中一种方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

制作一个基于Chrome内核的Wincc Web控件

Control控件时经常会遇到一个问题,那就是打开网页的时候经常会报浏览器脚本执行错误,客户不接受系统有报错显示,所以必须想办法给予解决。...通过查询相关资料得知,Wincc的WebBrowser Control控件因为采用的旧的IE内核的原因,对于JS脚本兼容性不够好。 那么有什么办法可以解决这个问题吗?...安装CefSharp包 因为Visual Studio自带的WebBrowser控件也是基于IE内核,所以为了一劳永逸,我们需要安装一个支持Chrome内核的第三方包。...右键点击项目,选择“管理NuGet程序包”,搜索CefSharp.WinForms,并下载最新版本,如下图所示。...在Wincc调用.NET控件 接着我们需要在Wincc调用我们制作的控件打开Wincc画面编辑器,在控件栏选择.NET控件,右键单击添加。选择名称为Visual Studio项目名称的DLL。

63220

WinForm嵌入Web网页的解决方案

在百度网盘的网页,点击【下载】按钮,首先会检查本地是否已经启动客户端网盘。如果未启动,则弹出提示信息告知用户需要打开客户端程序进行下载。这就是一个典型的Web网页启动客户端程序的场景。...http://mybrowse.osfipin.com WinForm Browser 控件 WebBrowser    微软WinForm开发框架老牌控件。...CefSharp拥有WinForms和WPF应用程序的浏览器控件,以及自动化项目的OffScreen版本。...它是用C#写成的,里面有大量的C#的注释,geckofx是最完美的默认的iE核心webbrowse控件的替代控件。...DotNetBrowser   DotNetBrowser能嵌入一个基于Chromium的WPF或WinForms组件到你的.NET应用,用来显示使用HTML5、CSS3、JavaScript、Silverlight

4.4K11

使用CefSharp开发一个12306“安心刷票弹窗通知”工具

之前的抢票工具是基于IEBrowser控件做的,不用说大家都知道这个控件在不同的Windows系统上表现各异,因为它主要依赖于IE内核,坑爹的是它有时候还没有直接使用IE效果好,所以使用我这个抢票工具总有不顺收的地方...As CefSharp.WinForms.ChromiumWebBrowser Me.WebBrowser1 = New CefSharp.WinForms.ChromiumWebBrowser(Me.ticketUrl...由于CefSharp版本问题,这个JS代码必须写到 浏览器控件的 FrameLoadEnd 事件,但是之前查询到文章里面都说可以在 IsBrowserInitializedChanged 事件里面,现在是找不到的...之前是在 CefSharp控件的 IsBrowserInitializedChanged 事件处理的,结果发现运行时偶发错误,而且是Win 10报错但是Win 8.1报错: 相关UI访问代码会发生“线程间操作无效...下面是打开12306自动刷票功能的效果图: ?

3.1K100

WPFWinForm中加载网页的几种方式及如何加载Flash库(WebBrowserCEF)

版本 记录WebBrowser控件使用IE渲染版本的路径: 注意 注册表不要修改HKEY_LOCAL_MACHINE下的,因为可能没有权限而导致修改失败。...DOCTYPE指令展示网页 ie7//7000 (0x1B58) 使用WebBrowser Control控件的应用程序所使用的默认值,在IE7标准模式按照网页上!.../Libs/flashplayerax_install_cn.exe", ""); } extendedWebBrowser1.Url = new Uri(url); } 窗口弹出 当页面打开新页面的方式是...所以解决的方法是 获取弹出页面的网址 本窗口打开或者新窗口打开 那么怎么获取到弹出页面的网址呢?...默认的WebBrowser打开窗口会用系统默认的IE打开,并且我们也没法获取新窗口的地址自行处理。 所以我们自定义WebBrowser保证能获取新窗口的地址。

3.7K40

WEB 打印的相关技术分析

现在我们来分析一下目前已经成形的Web打印方案: 现有的Web打印控制技术分成几种方案: 一.自定义控件完成打印 利用IE 自带的WebBrowser 控件实现打印 利用第三方控件实现打印 1、 自定义控件方式...2、利用WebBrowser 实现Web打印 WebBrowserIE 内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0 版本 的WebBrowser 控件技术内容。...当的页面生成时,还应适当考虑使用CSS 来实现强制分页控制。 优点:可以生成内容非常的丰富的打印目标文档,目标文档的内容的可控性强。...打印模板技术可以自定预览窗口和打印格式,最大限度地影响目标文档和打印效果。...自身打印 这种方式比较简单,也常用的打印方式,只需要将报表页面设计好,用户通过IE菜单的打印功能完成打印。

2.2K20

C#开发BIMFACE系列52 CS客户端集成BIMFACE应用的技术方案

http://mybrowse.osfipin.com WinForm Browser 控件 WebBrowser    微软WinForm开发框架老牌控件。...默认基于IE7内核,对H5网页加载支持不完善。 只支持单线程模式,大部分对其操作必须在创建它的线程执行,不可以在其它线程调用其方法或属性。 性能相对较弱。...CefSharp拥有WinForms和WPF应用程序的浏览器控件,以及自动化项目的OffScreen版本。...它是用C#写成的,里面有大量的C#的注释,geckofx是最完美的默认的iE核心webbrowse控件的替代控件。...DotNetBrowser   DotNetBrowser能嵌入一个基于Chromium的WPF或WinForms组件到你的.NET应用,用来显示使用HTML5、CSS3、JavaScript、Silverlight

4.6K10

【愚公系列】2023年11月 WPF控件专题 WebBrowser控件详解

一、WebBrowser控件详解WPFWebBrowser控件可以用于嵌入网页和显示HTML内容。它是一个基于Internet Explorer的控件,允许在WPF应用程序显示Web内容。...WebBrowser控件可以通过以下步骤来添加和使用:在Visual Studio打开WPF应用程序并打开窗口的XAML文件。在控件库中找到WebBrowser控件并将其拖放到窗口中。...NavigateToString:根据指定的HTML文本导航到一个的页面。Navigate:根据指定的URI导航到一个的页面。...3.具体案例以下是一个简单的WPF WebBrowser控件的案例:在WPF窗口中添加一个WebBrowser控件:在代码,使用Navigate...然后使用InnerHtml属性向文档添加的HTML内容。最后,使用InvokeScript方法调用JavaScript代码,弹出一个提示框。

75512

ActiveReports 报表应用教程 (1)---Hello ActiveReports

通过葡萄城ActiveReports报表控件,您除了可以创建常用的子报表、交叉报表、分组报表、分栏报表、主从报表等商业报表外,还可以创建具备数据筛选、数据过滤、数据钻取、报表互等交互能力的数据分析报表...5、报表皮肤设置 在葡萄城ActiveReports报表,可以设置报表不同控件的样式,然后把这些样式保存到一个外部的XML文件当中,供其他报表使用。...第二步: 在 Visual Studio 添加 ActiveReports V11 SP2 报表模板 ActiveReports 支持 WinForms、ASP.NET、ASP.NET MVC、Silverlight...打开 VS2013 并创建一个 ASP.NET 应用程序类型的项目,在项目文件上右键并选择添加 –> 新建项,在出现的添加项对话框,选中已安装的模板下的 Visual C# 节点,此时,你可以看到...说明:葡萄城ActiveReports报表内置跨浏览器支持,以上截图是在 IE 浏览器的运行结果,您还可以在 Chrome、FireFox、Opera浏览器来运行 ActiveReports 报表控件

2.9K60

.NET实现之(WebBrowser数据采集—终结篇)

数据采集-续)",就将用WebBrowser进行与HTML网页进行混合使用,在HTML的对象我要在我的WebBrowser控件通过读取数据库,将Winform的控件在HTML中进行呈现,然后将我们的...Winform的数据动态的填入HTML网页;这样的人性化、方便性、模拟性我想是WebRequest所不能取代的,我们大部分的软件是要提供给用户使用的,有一个友好的用户界面是必须的;[王清培版权所有,...,WebBrowser控件就是我封装的那个控件,大家请注意,在我们层层跳转到最后的采集页面时,我们要将事件的第一个事件断开,为什么要断开,是因为我们的WebBrowser控件的DocumentCompleted...事件总是会在网页加载完毕后触发,一旦当我们进入到采集生命周期中的时候,这部分的逻辑我们是不需要在处理的,这里就涉及到一个技术细节“委托”,如果对这方面的东西不太了解的话,请查阅本人的“.NET简谈委托...,我们需要调用我们的Winform窗口,进行数据查询,然后将我们的Winform结果填到HTML的文本框

56620

电脑静音工作,又听不到12306的来票音乐,纠结啊 !但春节前工作多任务重,不能安心工作,就动手做个“无声购票弹窗”工具吧!

自己做浏览器,用WebBrowser控件即可,弹窗用WinForm窗口的置顶属性即可。 好了,开始动手干吧!...1,寻找12306的出票提示层 首先,在12306的抢票网页上输入合适的条件,开启“自动提交”功能,等到出来“已查到车票,请核对以下信息”弹层的时候, 使用浏览器的开发者工具,我用的是IE11,按F12...2,WebBrowser控件操作HTML DOM HTML DOM属性 知道了抢票网页的弹层ID,我们的WebBrowser控件必须要能够访问它的属性,这里主要是样式的显示属性 DISPLAY的值。...的功能,可以引用COM组件的 MSHTML组件得到。...找到WebBrowser 控件关联的HTML文档的Windows属性对象,调用execScript 方法即可。刷新间隔是5秒,可以修改成其它值。

1.2K60

使用 WPF + Chrome 内核实现 在线客服系统 的复合客服端程序

在 1.3 版本之前,客服端程序使用的是 WebBrowser 组件,也就是 IE 内核,随时系统用户的持续增加,我偶尔会收到一些细节问题的反馈,比如在部分版本(萝卜版番茄版毛桃版之类)的 Windows...经过调查发现是这部分 Windows 7 上 WebBrowser 组件所加载的 IE 内核存在问题,表现出了一些行为的不一致。...嵌入组件 首先使用 NuGet 将 WebView2 SDK 添加到项目中,然后将 WebView 添加窗口界面。...响应事件 在网页导航期间,WebView2 控件将引发事件。 承载 WebView2 控件的应用侦听以下事件。...在删除 JavaScript 之前,注入的 JavaScript 适用于所有的顶级文档和任何子框架。 例如,添加在用户导航到非 HTTPS 网站时发送警报的脚本。

3K10

《Python网络爬虫与数据挖掘小课堂》——part2

如果new等于0,则url会在尽量在已有浏览器窗口打开。如果new等于1, 则打开的浏览器窗口。new等于2,尽量在浏览器打开标签(tab)。...如果autoraise为True,则浏览器窗口显示在最前面(注意在多数窗口管理器会这样)。 webbrowser.open_new(url) #使用默认的浏览器打开url,尽量只有一个窗口。...webbrowser.open_new_tab(url) #使用默认的浏览器的tab打开url。...webdriver # 获取Firefox浏览器对象 driver = webdriver.Firefox() # 获取Chrome浏览器对象 #driver = webdriver.Chrome() # 获取IE...浏览器对象 #driver = webdriver.Ie() # 调用get方法来打开百度的url地址 driver.get("https://www.baidu.com/") print u'当前浏览的

83130
领券