Foros del Web » Programación para mayores de 30 ;) » .NET »

Acceder a eventos desde código. - VB .NET

Estas en el tema de Acceder a eventos desde código. - VB .NET en el foro de .NET en Foros del Web. Hola, quería ver si me podrían ayudar en el siguiente problema: ' Tengo un proyecto hecho en Vb .net, donde creo un Textbox mediante código, ...
  #1 (permalink)  
Antiguo 02/04/2009, 13:44
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
De acuerdo Acceder a eventos desde código. - VB .NET

Hola, quería ver si me podrían ayudar en el siguiente problema:

' Tengo un proyecto hecho en Vb .net, donde creo un Textbox mediante código, y lo aplico al formulario '

Cita:
Iniciado por Código

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim textbox1 As New TextBox
textbox1.Height = 100
textbox1.Width = 100
textbox1.Top = 50
textbox1.Left = 50
Me.Controls.Add(textbox1)
End Sub
Por ejemplo, si yo quiero poner una acción, que cuando en el Textbox se haga un click salte un Msgbox() Como hago?

Yo puedo hacerlo a esto, cuando el control se inserta en el formulario manualmente. Pero el control lo quiero insertar por código, y no se como acceder a sus eventos.

Espero que me puedan ayudar.

Saludos.-
  #2 (permalink)  
Antiguo 02/04/2009, 14:13
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Acceder a eventos desde código. - VB .NET

Para esto debes crear el evento del propio control
Ejm:

AddHandler TextBox1.Click, AddressOf Txt_Click

y luego creas un proc asociado al AddressOf

Sub Txt_Click(ByVal Sender As Object, ByVal e As System.EventArgs)

' Aqui codigo a desarrollar

End Sub
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 02/04/2009, 14:31
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
De acuerdo Respuesta: Acceder a eventos desde código. - VB .NET

Me impresionó tu respuesta. Rapidisima!!

Tengo un error, al querer hacer esto, me tira el siguiente error:

Cita:
Error 1 El operando de 'AddressOf' debe ser el nombre de un método (sin paréntesis).
Espero que tengas solución, un abrazo :)
  #4 (permalink)  
Antiguo 02/04/2009, 14:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Acceder a eventos desde código. - VB .NET

Probablemente no le estás pasando un método válido a AddressOf. Muéstranos cómo lo estás intentando.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 02/04/2009, 15:19
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
De acuerdo Respuesta: Acceder a eventos desde código. - VB .NET

Cita:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim textbox1 As New TextBox
textbox1.Height = 100
textbox1.Width = 100
textbox1.Top = 50
textbox1.Left = 50
Me.Controls.Add(textbox1)
AddHandler textbox1.Click, AddressOf txt_click
End Sub
No está bien asi?
  #6 (permalink)  
Antiguo 02/04/2009, 15:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Acceder a eventos desde código. - VB .NET

La función txt_click, ¿está definida?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 02/04/2009, 15:31
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
Respuesta: Acceder a eventos desde código. - VB .NET

No puedo creer haber sido tan olvidadizo.

Jajaja, mil disculpas, y gracias por todo a los dos! :)

Por si alguien quiere les dejo un ejemplo por si alguna vez tienen la misma duda:

Cita:
Private Sub btn_Click(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("btn_Click method", "Events Demonstration")
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim btn As Button
btn = New Button()
btn.Location = New Point(50, 50)
btn.Text = "Test"

Controls.Add(btn)
AddHandler btn.Click, AddressOf btn_Click
End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:05.