gpt4 book ai didi

c# - 如何防止WebView2(Edge based)打开新窗口

转载 作者:行者123 更新时间:2023-12-04 16:25:08 28 4
gpt4 key购买 nike

当我打开一个新选项卡时,在 Webview2 内部,WindowsForms 外部的一个新窗口打开。我想阻止这个窗口打开,我该怎么做?

最佳答案

您可以办理CoreWebView2.NewWindowRequested决定新窗口

  • 要完全抑制弹出窗口,请设置 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;
    }

    关于c# - 如何防止WebView2(Edge based)打开新窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66191200/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com