gpt4 book ai didi

c# - Windows 窗体应用程序中的闪烁

转载 作者:IT王子 更新时间:2023-10-29 04:31:06 24 4
gpt4 key购买 nike

我有一个应用程序,上面有很多控件。它有大量的闪烁,尤其是在启动时。

我应用了这个 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 上不是问题。

最佳答案

我想通了。诀窍是在显示表单后删除 WS_EX_COMPOSITED 标志。完整的解释和代码在我的博客:

How to get rid of flicker on Windows Forms applications

关于c# - Windows 窗体应用程序中的闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3286373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com