アプリ版:「スタンプのみでお礼する」機能のリリースについて

初心者質問で申し訳ないです。
VB.net(Visual Studio 2005)で図形描画を行っています。
ボタン押下で図形(四角形)を描画する方法は理解できたのですが
起動時に表示するほうほうが分かりません。
どなたか教えてもらえないでしょうか?

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim g As Graphics
g = PictureBox1.CreateGraphics()
g.DrawRectangle(Pens.Black, 100, 50, 100, 100)
g.Dispose()
End Sub

上記のようにLoadから読み込むようにしましたが描画されませんでした。
よろしくお願い致します><

A 回答 (1件)

■VB.NETで図形を描画する際の注意


VB.NETの場合、VB6.0以下と違い、PictureBoxにAutoRedraw(自動再描画機能)が無いので、Paintメソッドに描画処理を書かなければなりません。
・ボタン押下で図形を描画しても、他のウィンドウの下にウィンドウを隠したり最小化した後にウィンドウを前面に戻すと描画が消えて無くなってしまう(再描画されない)のがわかると思います。

■Paintメソッドで図形を描画する
PictureBox1のPaintメソッドを選び、
描画には、Paintメソッドの引数にある System.Windows.Forms.PaintEventArgsクラスのe引数オブジェクトを使います。

Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
e.Graphics.DrawRectangle(Pens.Black, 100, 50, 100, 100)

End Sub

というような感じです。
    • good
    • 0
この回答へのお礼

細かく説明いただきましてありがとうございます。
質問を書いた後に、Paintメソッドでの表示はしましたが、仰るとおり
再描画されず、わけが分からなくなっていました。。。
本当に100%のお答えありがとうございます。

お礼日時:2007/04/27 02:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!