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

Asignar un evento de manera dinámica

Estas en el tema de Asignar un evento de manera dinámica en el foro de .NET en Foros del Web. Hola, estoy trabajando con Visual Basic .NET 2008 y estoy creando botones de manera dinámica con un código parecido a este @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código vb: ...
  #1 (permalink)  
Antiguo 05/11/2013, 02:01
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
Asignar un evento de manera dinámica

Hola, estoy trabajando con Visual Basic .NET 2008 y estoy creando botones de manera dinámica con un código parecido a este
Código vb:
Ver original
  1. for i = 1 to 3
  2. Button boton As New Button
  3. boton.name = ("boton" & i)
  4. boton.text =  "boton" & i
  5. ' pongo aquí las posiciones donde se coloca el boton
  6. AddHandler boton.click, AddressOf eventoBoton
  7. next i

Esto funciona y me crea los botones pero quiero saber si hay alguna de forma de que el evento pueda coger el TEXTO del botón que le llama en cada momento,
ya que si pongo algo como boton&i.text me dice que el boton no está creado, que no existe.

Se puede hacer eventos para botones no creados o alguna forma de poner el name de los botones de manera dinámica dentro del evento?
  #2 (permalink)  
Antiguo 05/11/2013, 12:03
Avatar de giovani_loera  
Fecha de Ingreso: mayo-2011
Ubicación: Tijuana
Mensajes: 225
Antigüedad: 12 años, 11 meses
Puntos: 21
Respuesta: Asignar un evento de manera dinámica

No se si te has dado cuenta, que en los metodos de los eventos de los controles
te mandan 2 parametros.

Código C#:
Ver original
  1. protected void txtSearch_TextChanged(object sender, EventArgs e)
  2.         {
  3.             TextBox txt = sender as TextBox;
  4.             string valor=txt.Text;
  5.  
  6.         }

el parametro sender, es en si el control que levanto el evento,
solo hay que conventirlo a TextBox y asi podras acceder alas propiedades del control.

Solo tienes que convertir el codigo en VB.
  #3 (permalink)  
Antiguo 05/11/2013, 14:55
 
Fecha de Ingreso: octubre-2010
Ubicación: Madrid
Mensajes: 295
Antigüedad: 13 años, 6 meses
Puntos: 12
Respuesta: Asignar un evento de manera dinámica

Cita:
Iniciado por giovani_loera Ver Mensaje
No se si te has dado cuenta, que en los metodos de los eventos de los controles
te mandan 2 parametros.
Hola Giovani, lo que me has puesto es código c# y yo preguntaba por visual Basic .NET, pero gracias a tu respuesta he entendido lo del SENDER y he conseguido aplicarlo a lo que yo necesitaba

MIL GRACIAS

Código C#:
Ver original
  1. protected void txtSearch_TextChanged(object sender, EventArgs e)
  2.         {
  3.             TextBox txt = sender as TextBox;
  4.             string valor=txt.Text;
  5.  
  6.         }

el parametro sender, es en si el control que levanto el evento,
solo hay que conventirlo a TextBox y asi podras acceder alas propiedades del control.

Solo tienes que convertir el codigo en VB.

Etiquetas: basic, evento, manera, net, visual
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 00:02.