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

.NET WinForms中WebBrowser控件无法加载SSRS2019报表管理器,如何改用Edge?

解决WinForms应用默认用Edge打开Reporting Services报表管理器的问题

直接调用Edge打开报表管理器

System.Windows.Forms.WebBrowser控件基于旧IE内核,不兼容Reporting Services 2019报表管理器的现代Web特性,直接调用Edge浏览器打开是最直接的解决方案,有两种实现方式:

方式1:使用Edge专用URI协议

利用microsoft-edge:协议可直接唤起Edge并打开目标URL,无需指定Edge安装路径:

using System.Diagnostics;

// 替换为你的报表管理器实际URL
string reportManagerUrl = "http://your-report-server/Reports";

// 唤起Edge打开报表管理器
Process.Start(new ProcessStartInfo("microsoft-edge:" + reportManagerUrl));

方式2:指定Edge可执行文件路径

如果需要确保使用特定版本的Edge,可直接指定其exe路径启动:

using System.Diagnostics;
using System.IO;

string reportManagerUrl = "http://your-report-server/Reports";
// Edge稳定版默认安装路径,若为Beta/Dev版本需调整路径
string edgeExePath = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe";

if (File.Exists(edgeExePath))
{
    Process.Start(edgeExePath, reportManagerUrl);
}
else
{
    // 若Edge路径不存在, fallback到系统默认浏览器打开
    Process.Start(new ProcessStartInfo(reportManagerUrl) { UseShellExecute = true });
}

替代方案:使用WebView2控件内嵌现代浏览器

如果不想跳出外部浏览器,希望在WinForms窗口内加载报表管理器,可使用WebView2控件(基于Edge Chromium内核):

  1. 在项目中安装Microsoft.Web.WebView2 NuGet包
  2. 在窗体中添加WebView2控件,执行以下代码加载URL:
// 初始化WebView2并加载报表管理器URL
await webView21.EnsureCoreWebView2Async();
webView21.CoreWebView2.Navigate(reportManagerUrl);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 19:08:09