4

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

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

4

2 回答 2

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;
        }
    } 
于 2012-11-30T10:25:16.077 回答
1

afaik,您无法控制表单上单个控件的调整大小模式...在我看来,您有两个选择:

  1. 找出为什么会出现闪烁 - 图形驱动程序问题?
  2. 将表单的ResizeRedraw属性设置为false

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.resizeredraw.aspx

于 2012-11-30T09:11:17.073 回答