在vb.net中将事件添加到按钮
这是我的代码,我想添加一个事件到btn按钮,我希望我把我的问题弄清楚,并为我的英语不好道歉在vb.net中将事件添加到按钮,.net,vb.net,events,.net,Vb.net,Events,这是我的代码,我想添加一个事件到btn按钮,我希望我把我的问题弄清楚,并为我的英语不好道歉 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.
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
Handles关键字要求您使用WithEvents关键字声明生成事件的控件。修正:
Private Sub btnMove_Click(...) Handles btn.Click
另一种方法是使用AddHandler关键字显式订阅事件。在这种情况下,可以省略Handles关键字,改为这样写:
Dim WithEvents btn As New Button()
使用设计器添加这些控件当然是最好的方法,它可以避免类似这样的小错误。您已经添加了
btn移动\u点击btn处理程序,使用Handles btn。点击-以什么方式不起作用?@JonSkeet:他的代码有更深层次的问题;他试图误用数组。@JonSkeet Handles子句需要包含类型中定义的With Events变量或其某个基类型。由于btn将使用WithEvents
语句Dim WithEvents btn As New Button()声明,因此代码可能无法编译
能够使用手柄btn。点击@Chris它可以工作了非常感谢
Dim WithEvents btn As New Button()
Private Sub Form1_Load(...) Handles MyBase.Load
'' etc..
AddHandler btn.Click, AddressOf btnMove_click
End Sub