C#でダブルバッファリングを有効にする

DataGridViewを表示する際に、画面がチラチラとします。
高速なアルゴリズムで、DataGridViewにデータをセットしても、この現象は発生します。

これを解消する一番簡単な方法は、ダブルバッファリングを有効にすることです。

ダブルバッファリングとは、グラフィック処理などで利用されるアルゴリズムです。
図やデータを設定しながら、画面を表示するのではなく、すべての図やデータを画面表示エリア外にまとめて設定し、その後、そのエリア外を画面表示エリアに切り替える動作になります。

このダブルバッファリングを有効にすることで、画面のちらつきを無くすことができます。

ダブルバッファリング有効

///
/// DataGridViewのバッファリング設定
///
///public static void EnableDoubleBuffering(Control control)
{
control.GetType().InvokeMember(
"DoubleBuffered",
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty,
null,
control,
new Object[] { true });
}

呼び出し側

EnableDoubleBuffering(grid);

スポンサーリンク