.net - 如何防止 Windows 窗体文本框在调整大小时闪烁?

标签 .net winforms flicker

有很多文章解决了 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到左+右+上+下。现在运行并调整大小。文字闪烁。对于一对嵌套 TableLayoutPanel 内的文本框s 调整大小时的闪烁更严重。

    应用上述问题中提出的解决方案充其量不会解决闪烁问题;如果我进行实验并设置 protected ControlStyleTextBox我可以完全打破它(通过启用 UserPaint )但不能消除闪烁。

    那么,有什么办法可以修复TextBox中文本的闪烁问题吗?

    最佳答案

    我通常使用 富文本框 而不是多行文本框。
    通过将 DetectUrls- 和 ShortcutsEnabled-properties 设置为 false,RTB 的行为与 TextBox 非常相似,并且......它不会闪烁。

    关于.net - 如何防止 Windows 窗体文本框在调整大小时闪烁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1333393/

    相关文章:

    c++ - 调整主窗口大小时,静态控件会轻微闪烁

    c# - 根据 C# 中的表单最大化调整面板宽度

    c# - Visual Studio 全新安装 - 图形问题

    javascript - 如何在 phonegap iOS 应用程序启动时消除白色闪烁的闪屏?

    IE 中的 jQuery 鼠标闪烁

    winforms - 为什么我的 WindowsForm 在执行循环时没有响应

    c# - Windows 2008 上的 .NET Active Directory 密码过期

    具有相同参数签名的 C# 构造函数

    .net - 在Rx中,处理线程安全是消费者(IObserver)的责任吗?

    .net - C# 字符串实习垃圾收集