将click事件添加到picturebox vb.net

时间:2010-05-03 20:12:00

标签: vb.net onclick picturebox

我有一个flowLayoutPanel,我正在以编程方式添加新的panelLayouts。每个panelLayout都有一个pictureBox。这一切都运行良好,但我需要检测何时单击该图片框。如何在图片中添加活动?我似乎只能找到c#例子......

我添加图片的代码如下......

        ' add pic to the little panel container
        Dim pic As New PictureBox()
        pic.Size = New Size(cover_width, cover_height)
        pic.Location = New Point(10, 0)
        pic.Image = Image.FromFile("c:/test.jpg")
        panel.Controls.Add(pic)

        'add pic and other labels (hidden in this example) to the big panel flow
        albumFlow.Controls.Add(panel)

所以我假设在创建图像的某个地方我添加了一个onclick事件。如果可能的话,我还需要获取它的索引!谢谢你的帮助!

2 个答案:

答案 0 :(得分:5)

使用AddHandler语句订阅Click事件:

    AddHandler pic.Click, AddressOf pic_Click

pic_Click()方法的sender参数为您提供了对图片框的引用:

Private Sub pic_Click(ByVal sender As Object, ByVal e As EventArgs)
    Dim pic As PictureBox = DirectCast(sender, PictureBox)
    ' etc...
End Sub

如果您需要有关特定控件的其他信息(如索引),则可以使用Tag属性。

答案 1 :(得分:0)

用您的控件名称替换PictureBox1。

Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
    'executes when PictureBox1 is clicked
End Sub