有很多文章解决了 Windows 窗体中的闪烁问题。多数推荐设置DoubleBuffered = true
或者设置一堆ControlStyle
标志。但是,这些都不能帮助减少 TextBox 闪烁。
这里有几个相关的问题:
要重现此问题,请创建一个新的 WinForms 项目,添加
TextBox
,启用多行,禁用自动换行,添加一堆文本,设置Anchor
到左+右+上+下。现在运行并调整大小。文字闪烁。对于一对嵌套 TableLayoutPanel
内的文本框s 调整大小时的闪烁更严重。应用上述问题中提出的解决方案充其量不会解决闪烁问题;如果我进行实验并设置 protected
ControlStyle
在 TextBox
我可以完全打破它(通过启用 UserPaint
)但不能消除闪烁。那么,有什么办法可以修复TextBox中文本的闪烁问题吗?
最佳答案
我通常使用 富文本框 而不是多行文本框。
通过将 DetectUrls- 和 ShortcutsEnabled-properties 设置为 false,RTB 的行为与 TextBox 非常相似,并且......它不会闪烁。
关于.net - 如何防止 Windows 窗体文本框在调整大小时闪烁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1333393/