在我当前的 VBA 项目中,我有几个图片框,当您单击其中一个时,它们将激活一个消息框。有什么办法让我知道点击了哪些图片框?我已经添加了我目前拥有的代码,它不允许我将任何信息传递给子,因此每个图片框都会激活完全相同的消息。
AddHandler newPictureBox.Click, AddressOf pic_Click
Public Sub pic_Click()
MsgBox("test")
End Sub
在我当前的 VBA 项目中,我有几个图片框,当您单击其中一个时,它们将激活一个消息框。有什么办法让我知道点击了哪些图片框?我已经添加了我目前拥有的代码,它不允许我将任何信息传递给子,因此每个图片框都会激活完全相同的消息。
AddHandler newPictureBox.Click, AddressOf pic_Click
Public Sub pic_Click()
MsgBox("test")
End Sub
我在上面看到您使用的是VB2010。尝试这个...
AddHandler newPictureBox.Click, AddressOf pic_Click
Private Sub pic_Click(sender As Object, e As EventArgs)
Dim thisPic As PictureBox = DirectCast(sender, PictureBox)
'thisPIC now is a reference to the box, you can use .Name, etc. to get it's properties.
End Sub
您可以为每个图片框添加不同的处理程序,然后将其委托给另一个子,传递有关单击哪个图片框的信息。
为什么不使用picturebox.click事件?
只需双击您的图片框,它将自动使用该事件。
然后你可以将你自己的代码添加到picturebox.click中,这样它们就会有自己的功能。
如果这不是您想要的,请更清楚地描述您想要做的事情。