public
static
class ClassExtensions
{
/// <summary>
/// 将给定的DataGridView设置双缓冲
/// </summary>
/// <param name="datagrid"> 给定的DataGridView </param>
/// <param name="opened"> 设置为ture即打开双缓冲 </param>
public static void SetDoubleBuffered( this DataGridView datagrid, bool opened)
{
var dgvType = datagrid.GetType();
var properInfo = dgvType.GetProperty( " DoubleBuffered ", BindingFlags.Instance | BindingFlags.NonPublic);
properInfo.SetValue(datagrid, opened, null);
}
}
{
/// <summary>
/// 将给定的DataGridView设置双缓冲
/// </summary>
/// <param name="datagrid"> 给定的DataGridView </param>
/// <param name="opened"> 设置为ture即打开双缓冲 </param>
public static void SetDoubleBuffered( this DataGridView datagrid, bool opened)
{
var dgvType = datagrid.GetType();
var properInfo = dgvType.GetProperty( " DoubleBuffered ", BindingFlags.Instance | BindingFlags.NonPublic);
properInfo.SetValue(datagrid, opened, null);
}
}
使用方法:
dgrRealTimeData.SetDoubleBuffered(
true);
//
设置双缓冲
转自:http://www.oschina.net/code/snippet_96699_707