方法: フォームとコントロールのダブル バッファリングを行うことによってグラフィックスのちらつきを軽減するHow to: Reduce Graphics Flicker with Double Buffering for Forms and Controls

ダブル バッファリングでは、メモリ バッファーを使用して、複数の描画操作に関連するちらつきの問題に対処します。Double buffering uses a memory buffer to address the flicker problems associated with multiple paint operations. ダブル バッファリングを有効にすると、すべての描画操作が画面上の描画サーフェイスではなく、最初にメモリ バッファーに描画されます。When double buffering is enabled, all paint operations are first rendered to a memory buffer instead of the drawing surface on the screen. 描画操作がすべて完了すると、メモリ バッファーが、関連付けられている描画サーフェイスに直接コピーされます。After all paint operations are completed, the memory buffer is copied directly to the drawing surface associated with it. 画面に 1 つだけのグラフィックス操作を実行するため、複雑な描画操作に関連付けられているイメージのちらつきがなくなります。ほとんどのアプリケーションで、既定のダブル バッファリング、.NET Framework によって提供される最良の結果が提供されます。Because only one graphics operation is performed on the screen, the image flickering associated with complex painting operations is eliminated.For most applications, the default double buffering provided by the .NET Framework will provide the best results. 標準の Windows フォーム コントロールは、既定でバッファリング double です。Standard Windows Forms controls are double buffered by default. 既定のダブル バッファリング、フォーム内で有効にすることができ、2 つの方法でコントロールを作成します。You can enable default double buffering in your forms and authored controls in two ways. 設定するか、DoubleBufferedプロパティをtrue、または呼び出すことができます、SetStyleを設定するメソッド、OptimizedDoubleBufferフラグをtrueします。You can either set the DoubleBuffered property to true, or you can call the SetStyle method to set the OptimizedDoubleBuffer flag to true. どちらの方法は、フォームまたはコントロールのダブル バッファリングを既定値を有効にして、グラフィックスのちらつきのないレンダリングを提供します。Both methods will enable default double buffering for your form or control and provide flicker-free graphics rendering. 呼び出す、SetStyleメソッドがすべてのレンダリング コードを記述したカスタム コントロールに対してのみお勧めします。Calling the SetStyle method is recommended only for custom controls for which you have written all the rendering code.

アニメーションや高度なメモリ管理より高度なダブル バッファリングのシナリオには、独自のダブル バッファリング ロジックを実装できます。For more advanced double buffering scenarios, such as animation or advanced memory management, you can implement your own double buffering logic. 詳細については、「方法 :バッファリングされたグラフィックスを手動で管理します。For more information, see How to: Manually Manage Buffered Graphics.

ちらつきを軽減するにはTo reduce flicker

  • DoubleBuffered プロパティを true に設定します。Set the DoubleBuffered property to true.

    DoubleBuffered = true;
    
    DoubleBuffered = True
    
    

- または -- or -

関連項目See also