C# WinForms 將嵌入式網頁變更為使用 Edge 瀏覽器顯示

筆者在 Windows 11 中測試 WinForms 的 WebBrowser 元件,出現下面的畫面,原來還是使用 IE

要將嵌入式網頁的瀏覽元件變更為使用 Edge 瀏覽最簡單的方式就是使用微軟官方的 WebView2 套件

安裝

先使用 NuGet 安裝 Microsoft.Web.WebView2 套件,或是使用 .NET CLI 執行以下指令安裝
	
dotnet add package Microsoft.Web.WebView2
    

使用示範

動態產生 WebView2 元件並設定網址:
    
WebView2 webView = new WebView2();
webView.Dock = DockStyle.Fill;
this.Controls.Add(webView);
webView.Source = new Uri("https://www.google.com");
    


指定 Header 並瀏覽網頁

在使用前需要先確保已經開啟網頁(指定 Source),這裡增加一個 Button,點擊後就會加入 Header 並且跳轉網頁
    
    

Button button = new Button();
button.Text = "指定 Header 並跳轉網頁";
this.Controls.Add(button);

webView.Source = new Uri("https://www.google.com/");
    
button.Click += (sender, args) =>
{
    webView.CoreWebView2.AddWebResourceRequestedFilter("*", CoreWebView2WebResourceContext.All);
    webView.CoreWebView2.WebResourceRequested += (s, e) =>
    {
        var request = e.Request;
        request.Headers.SetHeader("Authorization", "Bearer aaa.bbb.ccc");
    };
    webView.CoreWebView2.Navigate("https://example.com");
};
    
    



參考資料:
Microsoft.Learn - Get started with WebView2 in WinForms apps

留言