我正在使用CefSharp.WinForms版本84.4.10。
我的应用程序是我制作的游戏的WIP游戏启动器。 Screenshot of the launcher. 当按下按钮时,有一个主窗体可以加载和卸载子窗体。子窗体包含一个拉伸面板以填充整个子窗体。 CefSharp在面板上初始化。 这是执行此操作的代码:
public CefSharp.WinForms.ChromiumWebBrowser browser;
private void Changelog_Load(object sender, EventArgs e)
{
browser = new CefSharp.WinForms.ChromiumWebBrowser("https://aerial-knightstudios.com/store/akslauncher/")
{
Dock = DockStyle.Fill,
Size = new Size(600, 600),
Location = new Point(200, 200),
};
this.panelChangelogPage.Controls.Add(browser);
}
启用子表单后,会出现一个黑框,该黑框填充一半的表单,然后闪烁白色,然后加载网页。
我通过在DoubleBuffered = true;
内添加public FormMain()
来启用双重缓冲,这使得闪烁的强度降低了,但仍然闪烁很多。
我也将program.cs中的[STAThread]
更改为[MTAThread]
。这也有帮助,但作用很小。
欢迎任何解决方案。