2013-09-01 5 views
0
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 

это мой код, и я хочу, чтобы добавить событие в БТН Button я надеюсь, что я делаю моя проблема ясна и извините за мой плохой английскийдобавить событие кнопки в vb.net

+2

Ну, вы уже добавили обработчик 'btnMove_Click' в' btn', используя 'Handles btn.Click' - каким образом он не работает? –

+0

@JonSkeet: у его кода есть более глубокие проблемы; он пытается злоупотреблять массивом. – SLaks

+0

Предложение @JonSkeet Handles требует переменную With Events, определенную в содержащем типе или одном из ее базовых типов. –

ответ

1
Private Sub btnMove_Click(...) Handles btn.Click 

Ключевое слово: Ключевое слово: Ключевое слово: Ручки. Объявление об объявлении, которое генерирует событие, с помощью ключевого слова 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 

Использование дизайнера, чтобы добавить эти элементы управления, безусловно, лучший способ, это позволяет избежать мелкие ошибки, как это.

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 
Смежные вопросы