Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
境界の色が違う複数の図形の塗りつぶし
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10691#CommentId22694
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2012/2/10 18:01:31
> CreateGraphicsは使用するなという 御注意があることは覚悟しておりました。
Paint イベントなら、e.Graphics に描画するのが本来のありようですから、
わざわざ CreateGraphics する必要は無いはずです。
それに先のコードでは、Paint イベント時の CreateGraphics を Dispose していませんよね。
(MouseClick 時には Dispose しているのに…)
また、Paint 内での描画内容が固定的な場合は、Paint をその都度処理する代わりに、
予め Bitmap に描画しておいて、それを PictureBox に表示した方が楽かもしれません。
> 「そのビットマップを PictureBox の Image / BackgroundImage に割り当てる。」にはどういう手法を用いるのか御教示下さい。
PictureBox1.Image = bmp
のように、描画結果の Bitmap オブジェクトを指定するということです。
こうしておけば、Paint イベントで毎回描画する必要は無くなりますし。
> デバイスコンテキストhDCを得るためにCreateGraphicsを使用しましたがこれはよろしいのでしようか
ビットマップに対して描画する場合は、以下が参考になりそうです。
http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?mode=allread&no=8474&page=0