C# 表单在文本标签更新时闪烁

C# 表单在文本标签更新时闪烁,c#,winforms,textlabel,C#,Winforms,Textlabel,我完全知道这是一个被问了很多次的问题,但我还没有找到一个完美的解决方案 问题:我有一个简单的Windows窗体,它有几个表面板、一个文本区域和一个用作字符计数器的文本标签-非常简单的设置。但是,当我开始更新字符计数器文本标签时,我的整个表单对于我输入其中一个文本区域的每个字符都会闪烁(即白色闪烁) 我读过的最常见的解决方案是使用各种缓冲和渲染参数。我已经修补了失效、双缓冲参数以及其他一些参数 在所有这些解决方案中,似乎只有一个明显的改进。然而,如果我只是用手指按住一个键,最终还是会出现闪烁。因此

我完全知道这是一个被问了很多次的问题,但我还没有找到一个完美的解决方案

问题:我有一个简单的Windows窗体,它有几个表面板、一个文本区域和一个用作字符计数器的文本标签-非常简单的设置。但是,当我开始更新字符计数器文本标签时,我的整个表单对于我输入其中一个文本区域的每个字符都会闪烁(即白色闪烁)

我读过的最常见的解决方案是使用各种缓冲和渲染参数。我已经修补了失效、双缓冲参数以及其他一些参数

在所有这些解决方案中,似乎只有一个明显的改进。然而,如果我只是用手指按住一个键,最终还是会出现闪烁。因此,我正在寻找一个更好的解决方案,完全消除闪烁。由于字符计数器是一个基本概念,我确信它是一个具有已知解决方案的热门领域。

在需要帮助时,我会修改代码以隐藏其中包含的私人详细信息

如果不存在这种可能性,我建议采取以下措施来减少闪烁:


在击键之间使用计时器(注册keyup事件)。如果500毫秒内未发生keyup事件,请允许textchanged事件继续进行,否则,什么也不做。

您可以发布到目前为止的代码吗?您是否在面板中使用背景图像?您如何更新标签?你在使用BGWorker吗?切换到WPF应用程序。。。win表单将闪烁。。win表单的双缓冲和其他功能不会有任何帮助!这是事实,接受它吧。这主要是因为图像。如果您使用的是图像,请使用位图格式!不,我没有使用背景图像。不,我不能发布代码,因为它是保密协议下的私人物品。我通过简单地更改标签的文本属性来更新标签。不,我不能切换到WPF,因为它不是我的个人项目