最近新做了一个项目,项目的界面好多的控件,然后在进入界面的时候会刷新好多次,而且每次操作都有不必要的刷新,研究发现了需要配置双缓冲才能避免闪屏,代码如下。
1 //获取当前系统的环境版本,不同的环境对应不同的属性。 2 Version v = System.Environment.Version; 3 4 if (v.Major < 2) 5 { 6 this.SetStyle(ControlStyles.DoubleBuffer, true); 7 } 8 else 9 {10 this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);11 }12 13 this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);14 this.SetStyle(ControlStyles.UserPaint, true);15 this.SetStyle(ControlStyles.ResizeRedraw, true);