我完全清楚这是一个多次被问到的问题,但我还没有找到完美的解决方案。
问题:我有一个简单的Windows窗体,其中包含一些表格面板,一个文本区域和一个用作字符计数器的文本标签 - 非常无辜的设置。但是,当我开始更新该字符计数器文本标签时,我的整个表单为我输入其中一个文本区域的每个字符闪烁(即闪烁白色)。
我读过的最常见的解决方案是使用各种缓冲和渲染参数。我使用了无效,双缓冲参数the series of ControlStyle parameters,以及其他一些strange ways of forcing double-buffering。
在所有这些解决方案中,只有2似乎有明显的改善。但是,如果我只是将手指放在一个键上,闪烁最终仍会发生。所以我正在寻找的是一个更好的解决方案,完全消除闪烁。由于字符计数器是一个基本的概念,我相信它是一个已知解决方案的访问量很大的区域。
答案 0 :(得分:0)
在我需要帮助的时候,我会改变我的代码以隐藏其中包含的私人信息。
如果不可能,我会建议以下方法来减轻闪烁:
在击键之间使用计时器(注册keyup事件)。如果500毫秒内没有发生keyup事件,则允许textchanged事件继续,否则不执行任何操作。