2011-09-03 10 views
15

Powiedzmy, że mam obiekt, który dynamicznie tworzę. Na przykład, powiedz, że utworzę przycisk "MyButton":Jak utworzyć procedurę obsługi zdarzeń dla obiektu utworzonego programowo w VB.NET?

Dim MyButton as New Button() 
MyButton.Name = "MyButton" 

Jak utworzyć, powiedzmy, wydarzenie "Kliknij"? Jakby były tworzone statycznie mogę utworzyć funkcję jako:

Private Sub MyButton_Click(ByVal sender as system.object, ByVal e As System.EventArgs) Handles.... 

Jak zaimplementować programu obsługi zdarzeń dla myButton?

Odpowiedz

21

użyć AddHandler i AddressOf tak:

Dim MyButton as New Button() 
MyButton.Name = "MyButton" 
AddHandler MyButton.Click, AddressOf MyButton_Click 

Jest więcej informacji tutaj w dokumentacji MSDN:

+3

Dlaczego nie jest to oznaczone jako odpowiedź? –

6

Z nowszych wersjach VB.NET możesz użyć wbudowanego wyrażenia lambda zamiast całej metody (jeśli chcesz)

Dim MyButton as New Button() 
MyButton.Name = "MyButton" 
AddHandler MyButton.Click, Sub(sender2, eventargs2) 
           'code to do stuff 
           'more code to do stuff 
          End Sub 
Powiązane problemy