我有一个.net应用程序,我用c#编写.在某些形式上,我经常更新显示字段.在某些情况下,表单上的每个字段(文本框,标签,图片框等)都会更改其值.此外,变化的频率可能是每秒.但是,目前每次更新表单时都会出现可怕的闪烁现象.怎么能阻止闪烁?有没有办法可能加倍缓冲?请帮忙!
简短的回答是
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
答案很长:请参阅MSDN或谷歌
只是为了好玩,尝试在每个元素更新后调用Application.DoEvents(),看看问题是好还是坏;-)
这对我有用.
http://www.syncfusion.com/faq/windowsforms/search/558.aspx
基本上它涉及从所需的控件派生并设置以下样式.
SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); SetStyle(ControlStyles.DoubleBuffer, true);