visual c#form update导致闪烁

9 c# winforms

我有一个.net应用程序,我用c#编写.在某些形式上,我经常更新显示字段.在某些情况下,表单上的每个字段(文本框,标签,图片框等)都会更改其值.此外,变化的频率可能是每秒.但是,目前每次更新表单时都会出现可怕的闪烁现象.怎么能阻止闪烁?有没有办法可能加倍缓冲?请帮忙!

Ste*_*owe 7

简短的回答是

SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
Run Code Online (Sandbox Code Playgroud)

答案很长:请参阅MSDN谷歌

只是为了好玩,尝试在每个元素更新后调用Application.DoEvents(),看看问题是好还是坏;-)


Bri*_*den 6

这对我有用.

http://www.syncfusion.com/faq/windowsforms/search/558.aspx

基本上它涉及从所需的控件派生并设置以下样式.

SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); 
SetStyle(ControlStyles.DoubleBuffer, true); 
Run Code Online (Sandbox Code Playgroud)


Mat*_*ley 1

你这个没研究好。每个 Form 中都有一个 DoubleBuffered 属性。尝试将其设置为 true。如果您没有在表单绘画上超载任何内容,那么一切都应该可以正常工作。