我有一个应用程序,我可以从1个用户控件移动到许多用户控件。当我转向许多控件时,我遇到了闪烁的问题。 要解决闪烁,我通过 双缓冲 启用了
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
return cp;
}
}
它确实解决了闪烁的问题。但是引入了一个新问题,其中有时我的用户控件没有完全绘制。出现了一个黑色的窗口。为了解决这个问题,我需要最小化和最大化软件并且它看起来正确。
我认为,虽然双缓冲正在为所有用户绘画 一次控制,一个或多个用户控件仍在生成它 控制。在大师绘画的时候,那种控制不是 准备好了。
以下是获得正确想法的图片 -
如图所示,有一种形式,在此特定场景中包含4个用户控件。每个用户控件还包含其他控件/用户控件。
这个问题可能出现什么问题?
答案 0 :(得分:0)
我通过将表单设计中的TrasnsparencyKey
从黑色更改为另一种颜色而不是黑色来解决此问题,请尝试使用一种不使用的颜色。