4

我有一个 flowLayoutPanel,我正在以编程方式向其中添加新的 panelLayouts。每个 panelLayout 中都有一个图片框。一切都很好,但是我需要检测何时单击该图片框。如何在图片中添加事件?我似乎只能找到 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 事件。如果可能的话,我还需要获取它的索引!谢谢你的帮助!

4

2 回答 2

6

使用 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 属性。

于 2010-05-03T20:20:18.617 回答
0

将 PictureBox1 替换为控件的名称。

Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
    'executes when PictureBox1 is clicked
End Sub
于 2014-07-30T23:36:18.687 回答