【发布时间】:2011-03-18 05:08:30
【问题描述】:
我有一个应用程序,上面有大量控件。而且它有大量的闪烁,尤其是在启动时。
我将这个fix 应用到它。
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // WS_EX_COMPOSITED
return cp;
}
}
效果很好 - 闪烁减少了令人难以置信的数量。但是,副作用是窗口右上角的最小化、最大化和关闭按钮在我将鼠标移到或单击它们时没有动画(尽管它们仍然有效)。这给应用程序一种挂起的感觉。
如何在保留最大化、最小化和关闭按钮可用性的同时保留 WS_EX_COMPOSITED?
这发生在 Windows XP 上。正如@fallenidol 指出的那样,这在 Windows 7 上不是问题。
【问题讨论】:
-
完美问题(我想要这个功能,我已经尝试过这个解决方案,如何通过这个新约束实现这个功能)。
-
顺便说一句,我在 Windows 7 上运行的测试应用程序中尝试了此修复,Maximise、Minimize 和 Close 按钮似乎仍然动画。
-
@fallenidol。很高兴知道。我所有的客户都在 XP 上。
-
我知道这是一篇旧帖子,但是当在 Win 7 SP1 上启用 WS_EX_COMPOSITED 时,最大化、最小化和关闭按钮上的动画消失了。
标签: c# winforms flicker createparams