一、使用默认的双缓冲
1 在应用程序中使用双缓冲的最简便的方法是使用 .NET Framework 为窗体和控件提供的默认双缓冲。通过将 DoubleBuffered 属性设置为 true。
this.DoubleBuffered=true;
2 使用 SetStyle 方法可以为 Windows 窗体和所创作的 Windows 控件启用默认双缓冲,在窗体或者控件的构造函数中添加如下代码即可:
SetStyle(ControlStyles.ResizeRedraw,true);
SetStyle(ControlStyles.OptimizedDoubleBuffer,true);
SetStyle(ControlStyles.AllPaintingInWmPaint,true);
二、案例——TableLayoutPanel使用双缓冲DoubleBuffered
利用反射机制修改TableLayoutPanel的Protected的DoubleBuffered属性,在窗体构造函数中加入如下代码:
tableLayoutPanel1.GetType().GetProperty("DoubleBuffered",
System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic)
.SetValue(tableLayoutPanel1, true, null);