¿Cómo creo un controlador de eventos para un objeto creado mediante progtwigción en VB.NET?

Digamos que tengo un objeto que creo dinámicamente. Por ejemplo, digamos que creo un botón llamado “MyButton”:

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

¿Cómo creo, digamos, un evento “Click”? Si se creó estáticamente podría crear una función como:

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

¿Cómo implemento un controlador de eventos para MyButton?

AddHandler y AddressOf así:

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

Hay más información aquí en la documentación de MSDN:

  • Cómo: Agregar un controlador de eventos usando código

Con las versiones más recientes de VB.NET puede usar una expresión lambda en línea en lugar de un método completo (si lo desea)

 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