闪烁窗体时背景图像设置为c#



当我为我的 winform 修复背景时,它在表单加载时会闪烁。我的窗体上有一个表格布局面板,我将所有控件都保留在表格布局面板上。

我将表格布局面板的背景色设置为透明并将图像设置为背景。为什么我在表单加载时会眨眼?

WinForms不能很好地处理透明度(我相信您可能已经注意到,并非所有WinForms控件都支持它)。导致闪烁的原因是,在加载 TableLayoutPanel 及其所有项时,窗体必须找到正确的"图像"(因为控件不支持透明度的方式与 WPF 或游戏不同,而是使用其后面控件的图像)才能显示。加载每个控件时,它必须经历此过程,因此闪烁。您可以尝试在表单上启用双缓冲,但是,如果我没记错的话,这可能会导致透明度问题。

如果您发现您正在使用大量透明度和/或想要更多地自定义表单,我建议您查看 WPF。它提供了对窗体(WPF 中的窗口)的更大控制,并支持每个控件的透明度。

最新更新