2009-07-13 2 views
3

winformのコントロールのenable disableプロパティを変更するたびに、フォーム全体が再描画されます。私はすべてのコントロールを更新したときに再塗りつぶしするだけで冗長な塗り替えを避けたい。これは可能ですか?winformsのリフレッシュを無効にする

答えて

4

this articleには、再塗りつぶしプロセスをより詳細に制御するためのヒントがいくつかあります。

0

これは簡単なハックですが、フォームのVisibleプロパティをFalseに設定し、すべてのコントロールを有効または無効にしてから、フォームのVisibleをTrueに戻すことができると思います。

記事JPの参考文献には、いくつかのより良いアプローチが含まれています。

更新:実際には、どの言語/プラットフォームを使用していますか?私はC#で簡単なテストアプリケーションを作成しました。有効/無効のプロパティを設定すると、ではなく、はフォーム全体を再描画します。

3

Winformsは、外観が変更されたコントロールの無効化された領域のみを再描画します。あなたの "全体のフォーム"が再描画されている場合、あなたは何か間違っている。 Paintイベントハンドラの外に何かを描画していますか? Paintイベントハンドラで何かを無効にしていますか?それをしないでください。

この問題を引き起こすコードを投稿してください。

+2

「医者、私がこれをすると痛い」 "しないでください。" – MusiGenesis

関連する問題