Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何防止WebView2(基于边缘)打开新窗口_C#_Winforms_Webview2 - Fatal编程技术网

C# 如何防止WebView2(基于边缘)打开新窗口

C# 如何防止WebView2(基于边缘)打开新窗口,c#,winforms,webview2,C#,Winforms,Webview2,在Webview2内部打开新选项卡时,WindowsForms外部的新窗口将打开。我想阻止此窗口打开,如何才能做到这一点?您可以处理以决定是否打开新窗口 要完全抑制弹出窗口,请设置e.Handled=true 要在同一窗口中显示弹出内容,请设置e.NewWindow=(CoreWebView2)sender 要在另一个特定实例中打开,请将e.NewWindow设置为另一个CoreWebView2实例 例如: //using Microsoft.Web.WebView2.Core; //usi

在Webview2内部打开新选项卡时,WindowsForms外部的新窗口将打开。我想阻止此窗口打开,如何才能做到这一点?

您可以处理以决定是否打开新窗口

  • 要完全抑制弹出窗口,请设置
    e.Handled=true
  • 要在同一窗口中显示弹出内容,请设置
    e.NewWindow=(CoreWebView2)sender
  • 要在另一个特定实例中打开,请将
    e.NewWindow
    设置为另一个
    CoreWebView2
    实例
例如:

//using Microsoft.Web.WebView2.Core;
//using Microsoft.Web.WebView2.WinForms;

WebView2 webView21 = new WebView2();
private async void Form1_Load(object sender, EventArgs e)
{
    webView21.Dock = DockStyle.Fill;
    this.Controls.Add(webView21);
    webView21.Source = new Uri("Https://stackoverflow.com");
    await webView21.EnsureCoreWebView2Async();
    webView21.CoreWebView2.NewWindowRequested += CoreWebView2_NewWindowRequested;
}

private void CoreWebView2_NewWindowRequested(object sender,
    CoreWebView2NewWindowRequestedEventArgs e)
{
    e.NewWindow = (CoreWebView2)sender;
    //e.Handled = true;
}

这回答了你的问题吗?不,因为它不能处理弹出窗口,只能处理新选项卡。