• ベストアンサー

VB.NETでグラフィックを描くと消えてしまいます

VB.NETを使って間もないですが、PaintBox_paintイベント外にDrawLineを使って線を引くと表示されません。PaintBox_paintイベント内に書くと表示されますがそれ以外ではだめです。オートリードロウを使おうとしましたが VB.NETではありませんでした。さらに新しいウインドウをかぶせると グラフィックがかぶさったところだけ消えてしまいます。 MSDNを見てもよくわかりません。 解決方法をご存知の方、宜しくお願いいたします

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

  • ベストアンサー
  • 65_
  • ベストアンサー率100% (2/2)
回答No.1

PictureBoxに次のような感じで書くと 自動で再描画されますよ PictureBox1.Image = New Bitmap(PictureBox1.Size.Width, PictureBox1.Size.Height) Dim g As Graphics = Graphics.FromImage(PictureBox1.Image) g.DrawRectangle(Pens.Pink, 10, 10, 100, 100) フォーム等に描いた場合は自分でPaintイベントで再描画しないと いけないようです

mehiro2
質問者

補足

早速のお返事有難うございます。 これは、pictureBox内に書かなければいけないのでしょうか

その他の回答 (1)

回答No.2

※この前は、URLアドレスの記述の件スイマセンでした No1の65さんの方法ですとPaintイベントに記述しなくても大丈夫でした Private Sub sakuga()  PictureBox1.Image = New Bitmap(PictureBox1.Width, PictureBox1.Height)  Dim g As Graphics = Graphics.FromImage(PictureBox1.Image)  g.DrawLine(Pens.Pink, 1, 1, 100, 50) End Sub の様な感じで、描けました。

mehiro2
質問者

お礼

お返事遅くなって申し訳ございませんでした。 早速試してみて、書くことができました。 勉強になり本当にありがとうございました