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