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

时间:2012-12-15 06:37:06

标签: c# winforms

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

我将tablelayout面板的背景颜色设置为Transparent并将图像设置为背景。为什么我的表单加载会闪烁?

1 个答案:

答案 0 :(得分:0)

WinForms并不能很好地处理透明度(因为我确定您可能已经注意到,并非所有WinForms控件都支持它)。导致闪烁是因为在加载TableLayoutPanel及其所有项目时,表单必须找到正确的'图像' (因为控件不像WPF或游戏那样支持透明度,而是使用它后面的控件的图像来显示)。它必须经过这个过程,因为每个控件都被加载,因此闪烁。您可以尝试在表单上启用DoubleBuffering,但是,如果我没记错,这可能会导致透明度问题。

如果您发现自己使用了大量透明度和/或想要更多地自定义表单,建议您查看WPF。它可以更好地控制您的表单(WPF中的窗口)以及支持每个控件的透明度。

相关问题