2010-11-19 9 views
2

私はVisual Studio 2008を使用しています。背景ペイントを無効にする

処理された画像を送信するコントロールがあります。処理パラメータが変更されるたびに、私はこの画像を更新したいが、ちらつきはない。塗装する前に窓が空白にならないようにすることができれば、ちらつきはほとんどの部分が消えてしまうはずです。

質問はどのようにするのですか?

何かのように: this.SetStyle(ControlStyles.AllPaintingInWmPaint、true); TableLayoutPanelコントロール(1時間かけて何かをしようと思っていたもの)をサブクラス化する必要があることを除いて、これを行う必要があります。

コントロールの背景ペイントをオフにする簡単な方法はありますか?

+0

コントロールのDoubleBufferedプロパティをtrueに設定しましたか? –

答えて

4

あなたがOnPaintBackgroundイベントをオーバーライドして何もしないしようとしたことがありますか?

protected override void OnPaintBackground(PaintEventArgs pevent) 
{ 
} 
+0

これは私のために働く! – Skizz

+0

作品。今私は、フォームエディタを台無しにすることなくコントロールをサブクラス化する方法を理解する必要があります! –

-1

はこれを試してみてください。

this.SuspendLayout(); 
// do update here 
this.ResumeLayout(); 

明確化:thisフォーム

+0

私は塗りたい画像だけを更新しています。私は実際にフォームについて何も変えていないだけで、フォームを無効にして新しいイメージで再描画されるようにします。問題は、ペイントする前に背景がクリアされるため、ちらつきが発生することです。 –

+0

私は参照してください。私のところで混乱して申し訳ありません。 –

関連する問題