ダブルバッファリングされたかなり複雑なユーザー描画コントロールがあります。別のウィンドウが上に移動した場合を除き、非常にうまく動作します。これにより、リフレッシュされていないコントロールに穴ができます。正しく再描画されません。私はいつもの修正をすべて試しました...ダブルバッファリングされたユーザーコントロールのリフレッシュの問題
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
助けてください。私は窓の中にタイマーコントロールを置き、10ミリ秒ごとにリフレッシュするように設定しました。これは非常にクールジーです。
ダブルバッファリングをオフにすると、コントロールが正しくリフレッシュされますが、そうでなければちらつきのために乱れます。
編集:ユーザーコントロールに子ウィンドウはありません。グラフィックスメソッドを使用して、ユーザーコントロールの全面がペイントイベントに描画されます。 WS_EX_COMPOSITEDを使用すると、問題に対するドラッグが修正されましたが、終了時に空白領域を残す余分な問題が残ります。これまでの唯一の修正は、リフレッシュタイマーであり、誰かがより多くのWindowsの魔法を知っていることを望んでいます。
WS_EX_COMPOSITED重なるウィンドウで再描画を修正するようです。塗装ボイド領域を引き起こすツールチップにはまだ問題があります。しかし、私はこの時点で何かを修正することは非常にうれしいです。 –