如何阻止 webview2 打开新的浏览器窗口而不是在浏览器内部

For*_*bly 8 c# winforms webview2

我想知道是否有办法阻止 webview2 组件在 win 表单中打开浏览器窗口

怎么了 在此输入图像描述

我到处找,但没找到,但我确实找到了,但它使用了 XAML/UWP

一页使用了 xaml,但代码无法工作,因为它的 XAML 和我使用 c#

Pou*_*Bak 8

要阻止链接在新窗口中打开,请订阅CoreWebView2_NewWindowRequested您发现的内容。

为此,最简单的方法是订阅第CoreWebView2InitializationCompleted一个。

在控件的属性窗口中WebView2双击CoreWebView2InitializationCompleted- 这将自动生成事件处理程序:

属性窗口

现在您添加CoreWebView2_NewWindowRequested事件处理程序并设置e.NewWindow为当前的CoreWebView2.

这是代码(假设您的WebView2控件被称为webView21):

private void WebView21_CoreWebView2InitializationCompleted(object sender, Microsoft.Web.WebView2.Core.CoreWebView2InitializationCompletedEventArgs e)
{
    webView21.CoreWebView2.NewWindowRequested += CoreWebView2_NewWindowRequested;
}

private void CoreWebView2_NewWindowRequested(object sender, Microsoft.Web.WebView2.Core.CoreWebView2NewWindowRequestedEventArgs e)
{
    e.NewWindow = webView21.CoreWebView2;
}
Run Code Online (Sandbox Code Playgroud)

现在链接将在同一窗口(您的WebView2控件)中打开。