• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Paintイベントを抑制する方法 )

Paintイベントを抑制する方法

このQ&Aのポイント
  • Form1上のコントロールのPaintイベントを抑制する方法について教えてください。
  • Form1上のコントロールが多く、Paintイベントが同時に走ってしまうため重くなってしまいます。
  • 個々のコントロールを触ったときにのみPaintイベントが走るようにしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.1

Paintイベントは、その表示状態が変わって再描画が必要となったときに走ります。端的にはform1のウィンドウを一番手前にしておき、その上に別のウィンドウ(たとえばIE)を重ねて隠し、その後IEなどのウィンドウを閉じると、その時点でform1のPaintイベントが走ります。 Form1.Visibleプロパティは、フォームの表示・非表示を切り替えるプロパティですから、falseにしたときに後ろにあるウィンドウのPaintイベントが走り、その後trueにしたときにform1のPaintイベントが走るという動作になります。 要するに、今の方法でPaintイベントを走らせるのを減らすことはできないということになります。 ど~してもPaintイベントを走らせたくないのなら、Win32APIのValidateRectなどを使う方法が考えられるのですが・・・はっきり言っておすすめできないです。

MKT_
質問者

お礼

 どうもありがとうございます!! Paintの走るタイミングのご説明が分かりやすかったです^^ >Win32APIのValidateRectなどを使う方法が考えられるのですが・・・はっきり言っておすすめできないです。 そうでございますか。。。orz おすすめできない、ということで ございますので、何か他の方法を考えてみます。。  ご閲覧・アドバイスいただきまして、どうもありがとうございました!m(_ _)m

関連するQ&A

専門家に質問してみよう