首页 > 解决方案 > 监控 ChromiumWebBrowser 控件初始化

问题描述

我们ChromiumWebBrowser在 Windows 窗体应用程序中使用 CefSharp 的控件 (83.4.20)。

我们连接IsBrowserInitializedChanged事件以了解浏览器控件何时初始化,以便我们可以开始加载我们的 Web 应用程序。有时这个事件根本不会被触发,所以我们的应用程序会被卡住并且不会加载 Web 应用程序。

如果应用程序卡在初始化ChromiumWebBrowser控件中,则WebView_IsBrowserInitializedChangedorWebView_LoadError不会被触发:

public MainForm()
{
    InitializeComponent();

    this.webView.IsBrowserInitializedChanged += WebView_IsBrowserInitializedChanged;
    this.webView.LoadError += WebView_LoadError;
}

private void InitializeComponent()
{
    this.webView = new CefSharp.WinForms.ChromiumWebBrowser();
    // usual WinForms initialization code from the designer
    // ...
}

private void WebView_IsBrowserInitializedChanged(object sender, EventArgs e)
{
    if (this.webView.IsBrowserInitialized)
    {
        this.webView.Load(this.ApplicationUri.AbsoluteUri);
    }
}

private void WebView_LoadError(object sender, LoadErrorEventArgs e)
{
    // handle the error
    // ...
}

我们是否可以订阅任何其他事件来监视 CefSharp 的状态和浏览器控件,以帮助解决这种情况?

标签: winformscefsharp

解决方案


推荐阅读