.net – 如何防止Windows Forms TextBox在调整大小时闪烁?

前端之家收集整理的这篇文章主要介绍了.net – 如何防止Windows Forms TextBox在调整大小时闪烁?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有很多文章解决Windows窗体中的闪烁。大多数建议设置DoubleBuffered = true或设置一堆ControlStyle标志。但是,这些都不能帮助减少TextBox闪烁。

以下是几个相关问题:

> How to double buffer .NET controls on a form?
> How to eliminate flicker in Windows.Forms custom control when scrolling?

要重现问题,创建一个新的WinForms项目,添加一个TextBox,启用多行,禁用单词换行,添加一堆文本,将Anchor设置为左上顶部。现在运行并调整大小。文字闪烁。对于几个嵌套的TableLayoutPanels中的文本框,调整大小的闪烁更加糟糕。

在上述问题中提出的解决方案最好不要修复闪烁;如果我获得实验并在TextBox上设置受保护的ControlStyle,我可以完全断开它(通过启用UserPaint),但不能消除闪烁。

那么,有没有办法解决TextBox中的文本闪烁?

我通常使用RichTextBox而不是多行TextBox。 通过将DetectUrls-和ShortcutsEnabled属性设置为false,RTB的行为与TextBox非常相似,它无闪烁。

猜你在找的Windows相关文章