Public Class Form1
Dim i As Integer = 0
Dim txt As New TextBox()
Dim btn As New Button()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
btn.Name = "btnMove"
btn.Size = New Size(60, 20)
btn.Location = New Point(220, 20)
btn.Text = "move"
btn.TextAlign = ContentAlignment.MiddleCenter
Me.Controls.Add(btn)
Me.BringToFront()
End Sub
Private Sub btnMove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn.Click
End Sub
End Class
这是我的代码,我想向btn添加一个事件Button我希望我能清楚地解决我的问题并抱歉我的英语不好
答案 0 :(得分:1)
Public Class Form2
Dim btn As New Button
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
btn.Name = "btnMove"
btn.Size = New Size(60, 20)
btn.Location = New Point(220, 30)
btn.Text = "Move"
btn.TextAlign = ContentAlignment.MiddleCenter
Me.Controls.Add(btn)
Me.BringToFront()
AddHandler btn.Click, AddressOf btnMove_click
End Sub
Private Sub btnMove_click(ByVal sender As Object, ByVal e As System.EventArgs)
MsgBox("welcome to salfkjsadlkf")
End Sub
End Class
答案 1 :(得分:1)
Private Sub btnMove_Click(...) Handles btn.Click
Handles 关键字要求您使用 WithEvents 关键字声明生成事件的控件。修正:
Dim WithEvents btn As New Button()
另一种方法是使用AddHandler关键字显式订阅事件。在这种情况下,您省略了 Handles 关键字并将其写为:
Private Sub Form1_Load(...) Handles MyBase.Load
'' etc..
AddHandler btn.Click, AddressOf btnMove_click
End Sub
使用设计器添加这些控件当然是最好的方法,它避免了这样的小错误。