当我为我的 winform 修复背景时,它在表单加载时闪烁。我的表单上有一个表格布局面板,我将所有控件都保留在表格布局面板上。
我将表格布局面板的背景色设置为透明并将图像设置为背景。为什么我在加载表单时会眨眼?
WinForms 不能很好地处理透明度(我相信您可能已经注意到,并非所有 WinForms 控件都支持它)。闪烁是因为加载了 TableLayoutPanel 及其所有项目时,表单必须找到正确的“图像”(因为控件不像 WPF 或游戏那样支持透明度,而是使用它后面的控件的图像)来显示。当每个控件都加载时,它必须经过这个过程,因此会闪烁。您可以尝试在表单上启用 DoubleBuffering,但是,如果我没记错的话,这可能会导致透明度问题。
如果您发现您使用了很多透明度和/或想要更多地自定义您的表单,我建议您看看 WPF。它可以更好地控制您的表单(WPF 中的窗口),并支持每个控件的透明度。