ダブル バッファリングでは、メモリ バッファーを使用して、複数の描画操作に関連するちらつきの問題に対処します。 ダブル バッファリングを有効にすると、すべての描画操作が画面上の描画サーフェイスではなく、最初にメモリ バッファーに描画されます。 描画操作がすべて完了すると、メモリ バッファーが、関連付けられている描画サーフェイスに直接コピーされます。 画面上で実行されるグラフィックス操作は 1 つだけなので、複雑な描画操作に関連するイメージのちらつきが解消されます。ほとんどのアプリケーションでは、.NET Framework が提供する既定のダブル バッファリングにより最善の結果が得られます。 標準の Windows フォーム コントロールは既定でダブル バッファリングをサポートしています。 フォームおよび作成済みコントロール内では既定のダブル バッファリングを 2 とおりの方法で有効にできます。 DoubleBuffered プロパティを true に設定するか、SetStyle メソッドを呼び出して OptimizedDoubleBuffer フラグを true に設定します。 どちらの方法でも、フォームまたはコントロールに対して既定のダブル バッファリングが有効になり、ちらつきのないグラフィックが描画されます。 SetStyle メソッドの呼び出しは、ユーザーがすべてのレンダリング処理コードを記述したカスタム コントロールに対してのみ実行するようにお勧めします。
アニメーションや高度なメモリ管理など、より高度なダブル バッファリングのシナリオでは、独自のダブル バッファリング ロジックを実装できます。 詳細については、「方法 : バッファリングされたグラフィックスを手動で管理する」を参照してください。
ちらつきを軽減するには
DoubleBuffered プロパティを true に設定します。
DoubleBuffered = True
DoubleBuffered = true;
または
SetStyle メソッドを呼び出して、OptimizedDoubleBuffer フラグを true に設定します。
SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);