【.NET】DataGridViewの描画が遅い時の対策
DataGridViewの描画が遅い時の対策を紹介します。
100件程度であれば気にならないかと思いますが、
大量の行列がある状態でスクロールをすると、スクロールバーを動かすとビッビッビッみたいな感じで描画がスムーズに表示してくれない(ちらつく)んですね。
その場合の対策ですが【DoubleBuffered】というのを有効にすれば良いです。
protected void Initialize() { //DataGridViewの画面ちらつきをおさえるため、DoubleBufferedを有効にする // DataGirdViewのTypeを取得 System.Type dgvtype = typeof(DataGridView); // プロパティ設定の取得 System.Reflection.PropertyInfo dgvPropertyInfo = dgvtype.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); // 対象のDataGridViewにtrueをセットする dgvPropertyInfo.SetValue(targetDataGridview, true, null); }
これを実行することで、パッと表示され、スムーズにスクロールすることが確認できました。
以上です。