.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非常相似,它无闪烁。

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...