作为一个老程序员,csdn账号已经13年多,但还是第一次发帖,以前都是找别人的帖子,得到了很多帮助,最近在开发中做了个窗口控件随控件大小改变而等比例改变,然而因为有主窗体或子窗体以及自定义控件等控件会很多,加载或重绘时会导致闪屏,最大化及最小化也会导致闪屏,极度的影响用户体验。故根据此问题做一个分析研究,网上资料也找了很多,尝试了各种方式,但依然效果不明显,无法彻底解决。很多人提出是Donet框架底层问题(JAVA,C++不会有此问题),网上博客及论坛没有能够彻底解决的帖子。最终我依照处理方式相互结合,功夫不负有心人最终完美解决闪屏问题。
多控件重绘导致闪屏,目前已经是许多开发者头疼的难题,研究该问题可以极大帮助更多开发者,下面我讲各种处理方式梳理一遍:
1.使用双缓存
public static void SetControlDoubleBuffer(Control ctl)
{