Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
C# フォームのOnPaintイベントについて
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9729#CommentId15417
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
るきお
 (社会人)
投稿日時
2010/8/6 12:43:15
OnPaintでの再描画のパフォーマンスが気になるのであれば、
毎回描画ロジックを実行するのではなく、一度描画した結果をとっておいて、
状況がかわるまではその結果を描画するようにすると良いと思います。
おっしゃるようにウィンドウがアクティブ化されたときにOnPaintが呼び出されるのは特におかしいことではありませんが、タイミングや再描画範囲はOSによって指定されますのでWindowsのバージョンによって異なる部分はあります。
>実際、このOnPaintイベントの発生を1回目以降イベントを起こさないようにしてしまった場合
>何らかの不具合がでますでしょうか?
OnPaintで描画しているものが描画されなくなる以外は特に不具合はないと思います。
なお、OnPaintでe.Graphicsで描画したものは永続化されていないので、要求があるたびに描画を実行しないと、ユーザーからは消えてしまったように見えるのでご注意ください。
つまり、1回目以降OnPaintイベントを処理しないようにした場合、最初(OnPaintイベント内のロジックによって)表示されていたものが、次の瞬間から表示されないことになります。