方法: フォームとコントロールのダブル バッファリングを行うことによってグラフィックスのちらつきを軽減する

ダブル バッファリングでは、メモリ バッファーを使用して、複数の描画操作に関連するちらつきの問題に対処します。 ダブル バッファリングを有効にすると、すべての描画操作が画面上の描画サーフェイスではなく、最初にメモリ バッファーに描画されます。 描画操作がすべて完了すると、メモリ バッファーが、関連付けられている描画サーフェイスに直接コピーされます。 画面上では 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)
    
    

関連項目