C# 无闪烁文本框

C# 无闪烁文本框,c#,.net,winforms,textbox,flicker,C#,.net,Winforms,Textbox,Flicker,我的表单上有一个简单的Winforms多行文本框。每当我调整或移动文本框时,它的内容开始疯狂地闪烁。这看起来非常恶心,甚至可能导致一些用户癫痫发作;-) 有没有办法操纵文本框的重画过程以消除闪烁?如果您无法控制窗体上单个控件的大小调整模式。。。 我认为你有两种选择: 了解发生闪烁的原因-图形驱动程序问题 将表单的ResizeRedraw属性设置为false 我在MSDN论坛上找到了一个,由。以下代码可以添加到表单中,也适用于所有子控件: protected override Create

我的表单上有一个简单的Winforms多行文本框。每当我调整或移动文本框时,它的内容开始疯狂地闪烁。这看起来非常恶心,甚至可能导致一些用户癫痫发作;-)


有没有办法操纵文本框的重画过程以消除闪烁?

如果您无法控制窗体上单个控件的大小调整模式。。。 我认为你有两种选择:

  • 了解发生闪烁的原因-图形驱动程序问题
  • 将表单的ResizeRedraw属性设置为false
  • 我在MSDN论坛上找到了一个,由。以下代码可以添加到表单中,也适用于所有子控件:

        protected override CreateParams CreateParams {
            get {
                const int WS_EX_COMPOSITED = 0x02000000;
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= WS_EX_COMPOSITED;
                return cp;
            }
        } 
    
    顺便说一句,常数映射到。