2

私は TableLayoutPanel を持っており、レイアウト内のコントロールでいくつかのドラッグ アンド ドロップ操作を行います。残念ながら、ドロップ操作後にコントロールがちらつきます。すべてのコントロールと他の多くのもので DoubleBuffered=true を試しました。私もこの解決策を試しました: How to fix the flickering in User controls。そして実際には、前述の CreateParams でうまく機能します。ただし、フォームのサイズを変更するまでのみです。サイズ変更後に Windows が WS_EX_COMPOSIET フラグを忘れているようです。エアロテーマでのみ登場。aero がないと、サイズ変更後に CreateParams の設定が保持されます。

aeroテーマをオンにしたときのちらつきを防ぐ方法はありますか?

4

1 に答える 1

1

フォームのサイズ変更イベント (onResizeBegin および on ResizeEnd) で、次のコードを使用します。

protected override void OnResizeBegin(EventArgs e) 
 {
    SuspendLayout();
    base.OnResizeBegin(e);
 }

protected override void OnResizeEnd(EventArgs e) 
 {
    ResumeLayout();
    base.OnResizeEnd(e);
 }
于 2013-07-10T21:27:28.817 に答える