gpt4 book ai didi

c# - 如何减少应用程序中的闪烁?

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:19 24 4
gpt4 key购买 nike

我开发了一个使用主窗体和 TabControl 的 WinForms 应用程序。在选项卡控件上有几个选项卡使用库中的控件。我最近注意到,在调整应用程序大小时,整个应用程序会疯狂闪烁。

我尝试了什么?

我尝试将以下代码添加到表单和其中一个控件的 _load 事件中。然后我通过选项卡切换到该控件并尝试调整大小但没有区别闪烁仍然非常糟糕。

DoubleBuffered = true; 

编辑 1

我还在一个选项卡上有 WPF 控件。我很好奇这是否也会导致闪烁。

最佳答案

有几种方法可以解决这个问题:

对于表单调整大小事件(onResizeBegin 和 on ResizeEnd),使用以下代码:

protected override void OnResizeBegin(EventArgs e) 
{
SuspendLayout();
base.OnResizeBegin(e);
}

protected override void OnResizeEnd(EventArgs e)
{
ResumeLayout();
base.OnResizeEnd(e);
}

- 在构造函数的形式中使用此代码:

this.SetStyle( ControlStyles.AllPaintingInWmPaint, true );
this.SetStyle( ControlStyles.UserPaint, true );
this.SetStyle( ControlStyles.OptimizedDoubleBuffer, true );
this.SetStyle( ControlStyles.ResizeRedraw, true );

关于c# - 如何减少应用程序中的闪烁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12770755/

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