Vb.net 使用'添加处理程序;地址';

Vb.net 使用'添加处理程序;地址';,vb.net,button,dynamic,handler,addressof,Vb.net,Button,Dynamic,Handler,Addressof,尝试将事件处理程序添加到动态创建的按钮时,出现错误: Dim Itm As New Button Itm.Name = "Itm" & i Itm.Height = 62 Itm.Width = 159 Itm.Text = Temp(i, 0).ToUpper Itm.Left = (F * 165) Itm.Visible = True Itm.BackColor = Colour Itm.ForeColor = Color.Black AddHandler Itm.Click, A

尝试将事件处理程序添加到动态创建的按钮时,出现错误:

Dim Itm As New Button
Itm.Name = "Itm" & i
Itm.Height = 62
Itm.Width = 159
Itm.Text = Temp(i, 0).ToUpper
Itm.Left = (F * 165)
Itm.Visible = True
Itm.BackColor = Colour
Itm.ForeColor = Color.Black
AddHandler Itm.Click, AddressOf Me.Itm_Click
Me.pnlItemButton1.Controls.Add(Itm)
i = i + 1
If i > Temp.Length - 1 Then
    GoTo Exit1
End If
我在AddressOf行上得到一个错误:

“单击的项目不是windowsapplication1.main的成员”

我觉得这是因为我已将名称设置为
“Itm”&I
,但使用了
我的地址。Itm(I)\u单击
也会出现错误。有什么想法吗

您必须声明
Itm\u单击
,并且它必须是可访问的

例如(假设您的数组
Temp
存在于某个地方):

您可以对所有动态创建的按钮使用此事件处理程序。您可以从
sender
参数中获得单击的按钮:

Protected Sub Itm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 
    Dim actualButton = Ctype(sender, System.Windows.Forms.Button)
    Dim name = actualButton.Name
End Sub

事件处理程序
Itm\u Click
在哪里声明?显示更多上下文。对不起-我是新来的编码!我想我没有申报吗?我该如何申报?
Protected Sub Itm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 
    Dim actualButton = Ctype(sender, System.Windows.Forms.Button)
    Dim name = actualButton.Name
End Sub