方法: フォームとコントロールのダブル バッファリングでグラフィックスのちらつきを軽減する
ダブル バッファリングでは、メモリ バッファーを使用して、複数のペイント操作に関連するちらつきの問題に対処します。 ダブル バッファリングを有効にすると、すべてのペイント操作が、画面上の描画サーフェイスではなくメモリ バッファーに最初にレンダリングされます。 すべてのペイント操作が完了すると、メモリ バッファーがそれに関連付けられている描画サーフェイスに直接コピーされます。 画面上で実行されるグラフィックス操作は 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)
関連項目
.NET Desktop feedback