DOBON.NET DOBON.NETプログラミング掲示板過去ログ

オブジェクトのpaintイベントについて

分類:[.NET]

はじめまして。
VB.Netでの、paintイベントについて質問させてください。

画面上に円、多角形を描画するため、PictureBoxのpaintイベントを使用しています。
表示は問題なくできているのですが、ブレークポイントをつけてみると、
このpaintイベントが、永続的にくりかえされてしまいます…。

もしや無限ループに入っているのではっ!と、不安になってしまったのですが、
paintイベントとは、周期的に発生しているものなのでしょうか??
paintイベントは多様すると重くなってしまうのではと、心配です。。。

もし、アドバイスなどありましたら、よろしくおねがいします。
> 画面上に円、多角形を描画するため、PictureBoxのpaintイベントを使用しています。
> 表示は問題なくできているのですが、ブレークポイントをつけてみると、
> このpaintイベントが、永続的にくりかえされてしまいます…。

たぶん、ブレークポイントで停止したときにVS.NETにフォーカスが行って、
前面にVS.NETが表示されてますよね?
自作の表示中のフォームがVS.NETの画面の裏に行ってると思います。

> もしや無限ループに入っているのではっ!と、不安になってしまったのですが、
> paintイベントとは、周期的に発生しているものなのでしょうか??

Paintイベントはそのコントロールを再描画する必要があるときに発生します。
例えば、他の画面に隠れたときとか。。。
つまり、VS.NETに自分のフォームが隠れることで、次に自分のフォームを
前面に持ってきたときにPaintイベントが再び発生します。
するとブレークポイントに行き・・・再び自分のフォームを前面に持ってくると
さらにPaintイベントが発生し・・・以後繰り返しとなっていると思います。

Paintイベント内での変数の値を見たいなら、Debug.Writeメソッドなどを使って
デバッグウィンドウに値を出力するとよいでしょう。
なるほどっ!!
よねKENさん、ありがとうございました。

これからも、掲示板の内容をいろいろと参考にさせて頂きます!

DOBON.NET | プログラミング道 | プログラミング掲示板