C# (Windows フォーム) を使用してコントロールのダブル バッファリングを有効にするにはどうすればよいですか?
描画するパネル コントロールと、所有者が描画したタブ コントロールがあります。どちらもちらつきに悩まされているので、どうすればダブルバッファリングを有効にできますか?
C# (Windows フォーム) を使用してコントロールのダブル バッファリングを有効にするにはどうすればよいですか?
描画するパネル コントロールと、所有者が描画したタブ コントロールがあります。どちらもちらつきに悩まされているので、どうすればダブルバッファリングを有効にできますか?
コントロールのコンストラクターで、DoubleBuffered プロパティや ControlStyle を適切に設定します。
たとえば、コンストラクターが次のような単純な DoubleBufferedPanel があります。
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.ResizeRedraw |
ControlStyles.ContainerControl |
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.SupportsTransparentBackColor
, true);
ここにいくつかの情報:
System.Windows.Forms.Controlから継承されたDoubleBufferedプロパティを使用します。
System.Windows.Forms.Form myForm = new System.Windows.forms.Form();
myForm.DoubleBuffered = true;