我的Page_Load事件中包含以下代码:
For number As Integer = 1 To 5
Dim btn As Button = New Button With {
.Text = "Test" & number.ToString(),
.ID = "Test" & number.ToString()
}
AddHandler btn.Click, AddressOf btn_Click
buttons.Controls.Add(btn)
Next
以及Page_Load下方的事件处理程序:
Private Sub btn_Click(sender As Object, e As EventArgs)
Dim btn As Button = CType(sender, Button)
Debug.WriteLine($"Button {btn.Text} was pressed")
End Sub
我没有对AddHandler做正确的事情,因为当我单击五个按钮中的任何一个时,它都不会触发。任何帮助将不胜感激。
答案 0 :(得分:-1)
我在VB.NET中工作时对我的代码进行了稍微的编辑,但这对我有用,因为VB.NET将每个按钮放在窗体的左上角,因此我不得不根据整数更改每个按钮的位置。让我知道你过得怎样
公开课表格1 私有子Form1_Load(作为对象发送,作为EventArgs发送)处理MyBase.Load
For number As Integer = 1 To 5
Dim btn As Button = New Button With {
.Text = "Test" & number.ToString(),
.Name = "Test" & number.ToString(),
.Top = number.ToString * 20
}
AddHandler btn.Click, AddressOf btn_Click
Me.Controls.Add(btn)
Next
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs)
Dim btn As Button = CType(sender, Button)
Debug.WriteLine($"Button {btn.Text} was pressed")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
End Sub
结束班级