原理,關鍵是要在該控件上打開雙緩衝區,在沒有雙緩衝區的時候,可以採用把窗體設置爲VISIBLE = FALSE可以提高一定的速度,但給用戶的體驗不友好。雙緩衝區模式可以解決這個問題。假設DataGridView的名字爲dgvAnalog,下面代碼用於啓動雙緩衝區。
Dim dgvType As Type
Dim ppInfo As PropertyInfo
Dim b As Boolean
dgvType = dgvAnalog.GetType()
ppInfo = dgvType.GetProperty("DoubleBuffered", BindingFlags.Instance Or BindingFlags.NonPublic)
b = True
ppInfo.SetValue(dgvAnalog, b, Nothing)
啓動雙緩衝區後,速度有本質的提升。