C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 103 を表示中)
■61829 / )  自作メソッドを実行中、とまってしまう
□投稿者/ 佐藤 正弘 (5回)-(2011/09/07(Wed) 14:17:23)

分類:[VB.NET/VB2005 以降] 

visual basic 2010を使用。
次のプログラム 参照されたし。

Public Class Form1
Dim img As New Bitmap(500, 500)
Dim g As Graphics = Graphics.FromImage(img)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'大きさを指定してBitmapオブジェクトの作成
' Dim img As New Bitmap(500, 500)

'imgのGraphicsオブジェクトを取得
' Dim g As Graphics = Graphics.FromImage(img)

' g.FillRectangle(Brushes.Red, 0, 0, 400, 400)
'g.FillRectangle(Brushes.Yellow, 25, 25, 350, 350)

'g.FillRectangle(Brushes.Black, 0, 0, 400, 400)

'g.FillRectangle(Brushes.Green, 50, 50, 300, 300)

'g.FillRectangle(Brushes.Cyan, 75, 75, 250, 250)

'g.FillRectangle(Brushes.Red, 100, 100, 200, 200)

'g.FillRectangle(Brushes.Magenta, 125, 125, 150, 150)

'g.FillRectangle(Brushes.Yellow, 150, 150, 100, 100)

Paintsikaku()

'作成した画像を表示する
Dim pg As Graphics = PictureBox1.CreateGraphics()
pg.DrawImage(img, g.VisibleClipBounds)

'リソースを開放する
img.Dispose()
g.Dispose()
pg.Dispose()
End Sub

Private Sub PictureBox1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick
' Dim img As New Bitmap(500, 500)
' Dim g As Graphics = Graphics.FromImage(img)
'g.FillRectangle(Brushes.Black, 0, 0, 400, 400)

'g.FillRectangle(Brushes.Blue, 25, 25, 350, 350)

'g.FillRectangle(Brushes.Green, 50, 50, 300, 300)

'g.FillRectangle(Brushes.Cyan, 75, 75, 250, 250)

'g.FillRectangle(Brushes.Red, 100, 100, 200, 200)

'g.FillRectangle(Brushes.Magenta, 125, 125, 150, 150)

'g.FillRectangle(Brushes.Yellow, 150, 150, 100, 100)
Paintsikaku() ’ここで、止まってしまう
Dim col1 As New Color
col1 = img.GetPixel(e.X, e.Y)

Label1.BackColor = col1
Label2.Text = col1.Name



End Sub
Private Sub Paintsikaku()
' Dim img As New Bitmap(500, 500)
' Dim g As Graphics = Graphics.FromImage(img)
g.FillRectangle(Brushes.Black, 0, 0, 400, 400) ’ここで、パラメータが適切でないと、メッセージがでて、止まる

g.FillRectangle(Brushes.Blue, 25, 25, 350, 350)

g.FillRectangle(Brushes.Green, 50, 50, 300, 300)

g.FillRectangle(Brushes.Cyan, 75, 75, 250, 250)

g.FillRectangle(Brushes.Red, 100, 100, 200, 200)

g.FillRectangle(Brushes.Magenta, 125, 125, 150, 150)

g.FillRectangle(Brushes.Yellow, 150, 150, 100, 100)

End Sub


End Class


 書いたイメージをクリックすると、その色と色を文字列に変換したものを、ラベルに表示するようになっている。

 自作のメソッドを使用しないで、四角を描くところをダブらせると、上手くいくが、自作メソッド Paintsikakuを使うと、クリックしたところで、
 パラメータが適切でないと、表示され、止まってしまう。ボタンを押すと、Paintsikakuを用いて、四角を表示できるのに、四角をクリックすると、止まって
 しまう。同じ、Pintsikakuを使用しているのに、不思議。原因不明。分る人、どうぞ、お教えください。

返信 編集キー/


管理者用

- Child Tree -