8

C# (Windows フォーム) を使用してコントロールのダブル バッファリングを有効にするにはどうすればよいですか?

描画するパネル コントロールと、所有者が描画したタブ コントロールがあります。どちらもちらつきに悩まされているので、どうすればダブルバッファリングを有効にできますか?

4

3 に答える 3

13

コントロールのコンストラクターで、DoubleBuffered プロパティや ControlStyle を適切に設定します。

たとえば、コンストラクターが次のような単純な DoubleBufferedPanel があります。

this.DoubleBuffered = true;
this.SetStyle(ControlStyles.UserPaint | 
              ControlStyles.AllPaintingInWmPaint |
              ControlStyles.ResizeRedraw |
              ControlStyles.ContainerControl |
              ControlStyles.OptimizedDoubleBuffer |
              ControlStyles.SupportsTransparentBackColor
              , true);
于 2008-10-20T22:28:08.350 に答える
1

ここにいくつかの情報:

フォーム上の .NET コントロールをダブル バッファする方法は?

于 2008-10-20T21:59:43.027 に答える
-2

System.Windows.Forms.Controlから継承されたDoubleBufferedプロパティを使用します。

System.Windows.Forms.Form myForm = new System.Windows.forms.Form();
myForm.DoubleBuffered = true;
于 2008-10-21T09:17:48.790 に答える