winforms - 监控 ChromiumWebBrowser 控件初始化
问题描述
我们ChromiumWebBrowser
在 Windows 窗体应用程序中使用 CefSharp 的控件 (83.4.20)。
我们连接IsBrowserInitializedChanged
事件以了解浏览器控件何时初始化,以便我们可以开始加载我们的 Web 应用程序。有时这个事件根本不会被触发,所以我们的应用程序会被卡住并且不会加载 Web 应用程序。
如果应用程序卡在初始化ChromiumWebBrowser
控件中,则WebView_IsBrowserInitializedChanged
orWebView_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 的状态和浏览器控件,以帮助解决这种情况?
解决方案
推荐阅读
- javascript - 通过 keyup 事件搜索单个 Datatable 列有效,但 draw() 函数无效
- amazon-web-services - Amazon Simple Email Service (Amazon SES) 将邮件发送到垃圾邮件中
- hyperledger-fabric - 如何在 Hyperledger Fabric 上调试 nodejs 链代码
- r - 在哪里并行化?构建一个 bash 脚本以在多个节点上进行并行化
- kubernetes - 加载 kubelet 配置文件失败
- python - 从 Python 通过 whatsapp 发送文件
- android - MPAndroidChart 相对于绘制的值显示较少数量的 x 轴
- excel - 在excel vba中转换工作周中的日期
- visual-studio-code - 如何在 Visual Studio Code 中设置 Maven 配置文件?
- wpf - 将 WPF 控件扩展到下拉列表