PictureBoxが3つあり、そのうちのどれかをクリックした時に
フォーム2を開いて、フォーム2にあるTextBox1に、クリック
されたPictureBoxの番号(Tag??)を表示させたいのですが、
どのPictureBoxがクリックされたのかを知るにはどうすれば
いいのでしょうか?(VB2005です)
Private Sub test(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click, PictureBox2.Click, PictureBox1.Click
Dim F2 As New Form2
F2.TextBox1.Text = ?????
F2.Show()
End Sub
よろしくお願いします。
> PictureBoxの番号(Tag??)
なぜ「??」なのでしょう…。(^^;
Tag プロパティを得たいという意味で良いのでしょうか?
それとも番号というのは、他の何か(Name等)なのでしょうか?
> どのPictureBoxがクリックされたのかを知るにはどうすれば
引数 sender には、イベントの発生元となったオブジェクトが渡されます。
ですから、Tag プロパティを得たいなら、
Dim o As Object = sender.Tag
で得られます。
もし、Option Strict On モードであれば、
Dim o As Object = DirectCast(sender, PictureBox).Tag
または
Dim o As Object = DirectCast(sender, Control).Tag
という感じで。
魔界の仮面弁士さん、素早い回答ありがとうございます。
Dim o As Object = sender.Tag
でやりたい事ができました。ありがとうございました。
ツイート | ![]() |