首页 > 解决方案 > 我正在尝试创建一个在用户单击表单加载时创建的图片框时发生的事件

问题描述

我正在尝试创建一个在用户单击图片框时发生的事件。图片框是可变的,picHandTwo 是一个 5 个元素的数组。它是在表单加载中创建和实例化的。但是,该事件永远不会发生,并且里面的代码不会执行

我试过创建一个大的透明图片框,它覆盖整个表单,但是,即使是透明的,它也会覆盖所有图像。

Private Sub picHandTwo_Click(sender As Object, e As EventArgs)
        Dim pt = New Point(Cursor.Position.X - Me.Left, Cursor.Position.Y - 
        Me.Top)
        If lblStart.Visible = False Then
            For i = 0 To UBound(picHandTwo)
                If pt.X > picHandTwo(i).Left And pt.X < picHandTwo(i).Left + 
                   picHandTwo(i).Image.Width And pt.Y > picHandTwo(i).Top 
               And pt.Y < picHandTwo(i).Top + picHandTwo(i).Image.Height 
               Then
                    cardMagnifier.Image = handOne(i).getPic()
                End If
            Next
        End If
   End Sub

方法内的代码很好并且会发生,但事件永远不会发生。它有什么问题?

标签: vb.net

解决方案


对于要处理的事件,您需要专门添加一个事件处理程序。这可以在 Visual Studio 的表单设计器中或通过代码来完成。就像是:

AddHandler event, AddressOf eventhandler

在你的情况下:

AddHandler picHandTwo.Click, AddressOf picHandTwo_Click


推荐阅读