Vb.net Visual basic 2008问题,向我的动态对象添加方法
自上周四以来,我一直在寻找我问题的答案。关于我的同一个问题的许多答案都在vb.net中得到了解答。然而,我正在使用VisualBasic2008,这两种语言似乎有一些差异,让我难以理解。这就是我的问题 我需要创建几个图片框,我已经创建了几个网站推荐他们动态。那部分很好用。当我想点击它们时,问题就开始了。我读了足够多的书来理解,并不是因为我创建了对象,我才创建了附加到它们的方法。然后我创建了这个方法。仍然没有问题,除了在运行代码时,每个按钮都执行相同的操作,因为它们都附加到相同的方法。我找到了一个解决方案:我需要用这个方法传递一个参数来告诉我正在点击的wich Picturebox,但因为我使用的是addressof,所以我不能。我知道很少有网站讨论过同样的问题,并使用lamda表达式解决了它。如果有人能给我应该使用的代码,我会非常感激 这是我的密码:Vb.net Visual basic 2008问题,向我的动态对象添加方法,vb.net,lambda,expression,addhandler,addressof,Vb.net,Lambda,Expression,Addhandler,Addressof,自上周四以来,我一直在寻找我问题的答案。关于我的同一个问题的许多答案都在vb.net中得到了解答。然而,我正在使用VisualBasic2008,这两种语言似乎有一些差异,让我难以理解。这就是我的问题 我需要创建几个图片框,我已经创建了几个网站推荐他们动态。那部分很好用。当我想点击它们时,问题就开始了。我读了足够多的书来理解,并不是因为我创建了对象,我才创建了附加到它们的方法。然后我创建了这个方法。仍然没有问题,除了在运行代码时,每个按钮都执行相同的操作,因为它们都附加到相同的方法。我找到了一个
For i = 0 To 7
'couleur is the name I give to my picturebox object and objet () is the sub in which I created my object
couleur(i) = objet()
Next
For x = 0 To 7
' initiasation of location, etc.
Next
' This is the issue !!! I do not know how to say this line into vb8
' I want to pass in argument X to know on which object I have cliked on and then use a seled case to make separated command afterward.
For x = 0 To 7
AddHandler couleur(i).Click, Function(senderobj, args) couleur_click(x)
Next
End Sub
Sub couleur_click(ByVal i As Integer)
' select case doing seperated things depending on the x receive in argument
End Sub
谢谢大家的帮助,对不起,我的语言不是我的第一语言 设置每个PictureBox的tag属性,然后在click事件处理程序中,您可以对标记执行选择大小写操作
无法将参数添加到内置事件处理程序。为什么不更改
couleur\u单击
将发送方作为参数?然后,您将知道单击的来源,从中可以在couleur
数组中找到PictureBox
的索引:
' ...
For x = 0 To 7
AddHandler couleur(i).Click, AddressOf couleur_click
Next
' ...
Sub couleur_click(sender As Object, e As EventArgs)
Dim pictureBoxSource As PictureBox = sender
' Find the index of the source in the base collection
Dim index = Array.IndexOf(couleur, pictureBoxSource)
Select Case index
' ...
End Select
End Sub
我是新手,我刚刚做的研究让我明白了我必须如何使用标签来解决我的问题。你能解释一下标签是什么,在我的情况下我必须如何使用它吗?谢谢你的支持help@PascalLevesque,他的意思是,
PictureBox
类有一个属性,您可以在其中放置索引整数。然后,您的事件处理程序可以从标记中提取整数,假设您有权访问发送方
,如我的示例所示。