我有我的窗体上一个简单的WinForms多行文本框。每当我调整或将其内容开始闪烁疯狂的文本框。这看起来很恶心,甚至可能会引起癫痫发作的一些用户; - )
I have a simple Winforms multiline TextBox on my Form. Whenever I resize or move the TextBox its content starts to flicker madly. That looks very disgusting and might even cause epileptic seizure for some users ;-)
有没有一种方法来操纵文本框的重新划分过程中摆脱闪烁?
Is there a way to manipulate the redrawing process of the TextBox to get rid of the flickering?
我已经找到了工作液上写的汉斯帕桑特 MSDN论坛。下面code可被添加到形式,将适用于所有子控件,太:
I've found a working solution on the MSDN forums written by Hans Passant. The following code can be added to the form and will work for all child controls, too:
protected override CreateParams CreateParams {
get {
const int WS_EX_COMPOSITED = 0x02000000;
CreateParams cp = base.CreateParams;
cp.ExStyle |= WS_EX_COMPOSITED;
return cp;
}
}