当DataGridView达到一定大小的时候,拖动滚动条就会非常慢,出现让人难以忍受的闪动。
即便只有100行,每行30列。
解决方法是启用DataGridView的双缓冲。
1
2
3
4
5
6
7
8
9
10
11
12
|
public
static
class
ExtensionMethods
{
public
static
void
DoubleBuffered(
this
DataGridView dgv,
bool
setting)
{
Type dgvType = dgv.GetType();
PropertyInfo pi = dgvType.GetProperty(
"DoubleBuffered"
, BindingFlags.Instance | BindingFlags.NonPublic);
pi.SetValue(dgv, setting,
null
);
}
}
// 使用方法:
ExtensionMethods.DoubleBuffered(dataGridView1,
true
);
|