微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/windows/372694.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐