事实证明双缓冲还是很有效果的,特别对于那些需要隐藏行的窗体

this.DoubleBuffered = true;//设置本窗体
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲

原文地址:https://www.cnblogs.com/swtool/p/11966237.html