无闪烁的TextBox

Bor*_*ris 4 .net c# textbox flicker winforms

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

有没有办法操纵TextBox的重绘过程来摆脱闪烁?

Bor*_*ris 7

我在Hans Passant撰写的MSDN论坛上找到了一个可行的解决方案.以下代码可以添加到表单中,也适用于所有子控件:

    protected override CreateParams CreateParams {
        get {
            const int WS_EX_COMPOSITED = 0x02000000;
            CreateParams cp = base.CreateParams;
            cp.ExStyle |= WS_EX_COMPOSITED;
            return cp;
        }
    } 
Run Code Online (Sandbox Code Playgroud)