转自:http://bitmatic.com/c/fixing-a-slow-scrolling-datagridview

当DataGridView达到一定大小的时候,拖动滚动条就会非常慢,出现让人难以忍受的闪动。

即便只有100行,每行30列。

解决方法是启用DataGridView的双缓冲。

  1. public static class ExtensionMethods 
  2.     public static void DoubleBuffered(this DataGridView dgv, bool setting) 
  3.     { 
  4.         Type dgvType = dgv.GetType(); 
  5.         PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic); 
  6.         pi.SetValue(dgv, setting, null); 
  7.     } 
  8.  
  9. // 使用方法: 
  10. ExtensionMethods.DoubleBuffered(dataGridView1, true);