You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF WebBrowser控件点击链接跳转至IE而非默认浏览器的修改方法

修改WPF WebBrowser控件链接打开行为为系统默认浏览器

WPF的WebBrowser控件基于IE内核,默认会用IE打开外部链接,要改成系统默认浏览器,只需要拦截导航事件并手动调用系统浏览器即可:

  1. 修改XAML,给WebBrowser添加Navigating事件绑定:
<WebBrowser x:Name="webBrowser" Navigating="WebBrowser_Navigating">
</WebBrowser>
  1. 在后台代码中实现事件处理逻辑:
private void WebBrowser_Navigating(object sender, NavigatingCancelEventArgs e)
{
    // 过滤内部导航(后退、前进)和本地文件,仅处理外部HTTP/HTTPS链接
    if (e.Uri != null && 
        (e.Uri.Scheme == "http" || e.Uri.Scheme == "https") &&
        e.NavigationMode != NavigationMode.Back && 
        e.NavigationMode != NavigationMode.Forward)
    {
        // 取消WebBrowser默认导航行为
        e.Cancel = true;
        // 调用系统默认浏览器打开目标链接
        System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(e.Uri.AbsoluteUri) 
        { 
            UseShellExecute = true 
        });
    }
}

原理说明:通过Navigating事件拦截所有导航请求,判断为外部网页链接时,取消WebBrowser自身的导航操作,转而利用Process.Start结合UseShellExecute=true调用系统默认浏览器打开链接。

内容的提问来源于stack exchange,提问作者BennoDual

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 00:32:34