Graphicsオブジェクトの描画

解決


だい  2008-08-30 21:43:51  No: 140324

ボタンクリックなどのイベントプロシージャに

Dim gr As Graphics = Me.PictureBox1.CreateGraphics()
gr.DrawLine(Pens.Black, 0, 0, 100, 100)

とすると描画できますが、フォームを最小化してから元にもどすと
描画したものが消えてしまいます。

消えないようにするにはどうしたらいいのでしょうか?


魔界の仮面弁士  2008-08-31 05:35:59  No: 140325

最小化から復帰したり、他のウィンドウで隠されたりした場合には、
もう一度描画しなおさなくてはいけません。

そのため、CreateGraphics して、そこに描画するのではなく、
Print イベント(再描画が必要になったときに発声するイベント)内で
引数の e.Grapchis に対して描画するようにせねばなりません。

もしくは、PictureBox に直接描画するのではなく、Bitmap に描画して、
それを PictureBox の背景画像として利用するようにします。


だい  2008-09-02 22:43:01  No: 140326

魔界の仮面弁士 さま、ありがとうございました。

再描画の時間を考慮してBitmap使用の方法をとらせていただきました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加