gpt4 book ai didi

c# - WS_EX_COMPOSITED causes entire app to flicker/shimmer when tab control has too many tabs

转载 作者:太空狗 更新时间:2023-10-29 19:47:10 27 4
gpt4 key购买 nike

为了解决闪烁问题,我求助于在 winforms 应用程序中使用 WS_EX_COMPOSITED。在选项卡控件获得如此多的选项卡以致于它创建“滚动箭头”之前,这种方法非常有效。此时,我的整个应用程序看起来就像在不断地重绘,到处闪闪发光。

为了查看它是否只是我的应用程序,我编写了一个简单的 winforms 程序来测试它。它所包含的只是一个选项卡控件,带有一个添加选项卡的按钮,其上的表单启用了 WS_EX_COMPOSITED ...果然,当我单击添加按钮并出现滚动箭头时,会发生闪烁.

多行选项卡控件修复了这个问题,但我在应用程序中没有足够的空间来使用它。代码对于我的测试应用程序来说真的很简单......只是添加了一个标签页和一个按钮,然后在表单中做了:

        protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
return cp;
}
}

private void button1_Click(object sender, EventArgs e)
{
this.tabControl1.TabPages.Add("SomeTab");
}

如果重要的话,我正在运行 win7。

最佳答案

看看这个问题的答案 flicker free tab control with WS_EX_COMPOSITED

可能需要一些时间来变通,但应该会有所帮助。

关于c# - WS_EX_COMPOSITED causes entire app to flicker/shimmer when tab control has too many tabs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867978/

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