電子書籍の厳選無料作品が豊富!

VB.NET2003

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'ピクチャーボックス1~2のイメージをクリア
For Each picBox As PictureBox In New PictureBox() {PictureBox1, PictureBox2}
picBox.Image = Nothing
Next
'ピクチャーボックス3~4にイメージを設定
PictureBox3.Image = Image.FromFile("C:\image03.jpg")
PictureBox4.Image = Image.FromFile("C:\image04.jpg")
End Sub

Private Sub PictureBox3to4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click, PictureBox4.Click
For Each picBox As PictureBox In New PictureBox() {PictureBox1, PictureBox2}
If picBox.Image Is Nothing Then
picBox.Image = sender.Image
Exit Sub
End If
Next
End Sub


上記は、ピクチャーボックス3~4のどれかが押されるとピクチャーボックス1に押された画像が挿入され、
次にピクチャーボックス3~4のどれかが押されると次はピクチャーボックス2に押された画像が挿入されるプログラムなのですが、

あるカードゲームの役判定をするため、どこにどの画像が挿入されたか判定するプログラムを作りたいのですが、
(例えば、ピクチャーボックス1にピクチャーボックス3の画像が挿入されているのなら「1-3」、4なら「1-4」です。と出力する)
難しすぎて全く分かりません・・・。  どなたかご教授願いします┏○

A 回答 (1件)

文字列の配列かまたは数字の配列の変数などを準備して


自分で管理するしかないですよ

dim ssImage(1) as String
等をFormクラスの変数として宣言します
ssImage(0)には PictureBox3に対するデータ
ssImage(1)には PictureBox4に対するデータ
を記憶するなどの記述が必要でしょう

PictureBox3to4_Clickで
if Sender Is PictureBox1 then
else
end if
といった構文で PictureBox1なのか PictureBox2なのかを判定できます

同様に
if picBox Is PictureBox3 then
else
end if
で PictureBox3なのかPictureBox4なのかの判定が可能ですよ
    • good
    • 0

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