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

Eventos de un control "virtual"

Estas en el tema de Eventos de un control "virtual" en el foro de .NET en Foros del Web. Hola! Estaba trabajando en Visual Basic 2008, muy tranquilamente, hasta que me surgió un problema enorme, es que estoy creando controles de forma dinámica, más ...
  #1 (permalink)  
Antiguo 22/01/2012, 01:42
Avatar de BillieBert  
Fecha de Ingreso: diciembre-2011
Mensajes: 37
Antigüedad: 12 años, 4 meses
Puntos: 1
Sonrisa Eventos de un control "virtual"

Hola!

Estaba trabajando en Visual Basic 2008, muy tranquilamente, hasta que me surgió un problema enorme, es que estoy creando controles de forma dinámica, más concretamente, tengo un tabcontrol "real" en mi form, y cada vez que presiono un boton me crea una nueva pestaña y un listbox dentro con diferentes opciones.

La duda aquí sería, ¿De qué forma puedo asignarle un evento a un control dinámico como vendrían siendo mis listboxes? Estoy algo perdido, agradecería cualquier idea.
  #2 (permalink)  
Antiguo 22/01/2012, 16:57
Avatar de othix  
Fecha de Ingreso: mayo-2011
Ubicación: Guatemala
Mensajes: 92
Antigüedad: 13 años
Puntos: 9
Respuesta: Eventos de un control "virtual"

Revisa este LINK talvez te sirva
__________________
"Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas."
  #3 (permalink)  
Antiguo 25/01/2012, 13:17
 
Fecha de Ingreso: abril-2010
Mensajes: 82
Antigüedad: 14 años
Puntos: 2
Respuesta: Eventos de un control "virtual"

Mira, yo estoy haciendo lo mismo que vos pero creando TextBox, y les creo todos los eventos que necesito. Yo lo hago asi, fiajte si te anda:

Luego de haber creado mi objeto, llamo a esta funcion

Private Sub CrearEventos()
AddHandler Obj.Click, AddressOf Txt_Click
AddHandler Obj.MouseMove, AddressOf Txt_MouseMove
AddHandler Obj.MouseLeave, AddressOf Txt_MouseLeave
AddHandler Obj.MouseUp, AddressOf Txt_MouseUp

'En este evento va el PopUp Menu
'AddHandler Obj.MouseDown, AddressOf Txt_MouseDown

AddHandler Obj.TextChanged, AddressOf Txt_TextChanged
AddHandler Obj.KeyDown, AddressOf Txt_KeyDown
End Sub

donde Obj es mi objeto Textbox que cree dinamicamente. Esa funcion le agrega los eventos al control, y cada una hace referencia a una Sub diferente, por ejemplo, te pego la del evento click.

Private Sub Txt_Click(ByVal sender As Object, ByVal e As EventArgs)

'Paste your code here....

End Sub

Cada una de las funciones de los metodos la tenes que hacer a mano, y hasta que no esten todas terminadas capaz te marque un error el intelisence pero vos no le des pelota y segui escribiendo.

Bueh, la verdad es largo esto de los controles dinamicos, pero yo hace mas de 2 años que vengo trabajando de esta manera y estoy bastante acostumbrado a usarlos en vb.net asique te acepto alguna duda que tengas... =). Espero que esto te sirva aunque sea de guia. Saludos!!
  #4 (permalink)  
Antiguo 26/01/2012, 16:33
Avatar de BillieBert  
Fecha de Ingreso: diciembre-2011
Mensajes: 37
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Eventos de un control "virtual"

Oh, bueno, me ha quedado muy claro, gracias a los dos :)

El punto es utilizar Addhandler [Objeto], Addressof [Evento], no?

Bueno, esto me ha quedado claro, y estuve investigando un poco más y me enteré que la variable "sender" del evento se convierte en el objeto que estaría utilizando el evento, o mas bien dicho, el que lo llamó, lo que no sé es para que sirve la variable "e". Podría alguno explicarmelo? :)

Gracias de nuevo!
__________________
La religión y la política pasaron de moda. Lo de hoy es el arte y el idealismo.
  #5 (permalink)  
Antiguo 27/01/2012, 12:36
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Eventos de un control "virtual"

El segundo parámetro son los argumentos que se le puede pasar para informar sobre ciertos datos del evento que puedan ser de interés. En el caso de ejemplo, es un objeto de la clase EventArgs, que es la clase base de los argumentos para eventos y significa que no recibe ningún argumento,

En otros eventos se pasan subclases de esta que son más especializadas y permiten acceder a ciertos parámetros, como cuando utilizas un evento de ratón, en el que se le pasa la coordenada X e Y de donde se pulso con el ratón, por ejemplo.

Fíjate en este link donde explican la clase MouseEventArgs, sobre la que te he hablado antes:

http://msdn.microsoft.com/es-es/libr...eventargs.aspx

Saludos.
  #6 (permalink)  
Antiguo 30/01/2012, 07:05
 
Fecha de Ingreso: abril-2010
Mensajes: 82
Antigüedad: 14 años
Puntos: 2
Respuesta: Eventos de un control "virtual"

Uh buenisimo con la explicacion del e. Yo intuia que algo asi hacia aunque nunca tuve la informacion "formal"

Muchas gracias!!

Etiquetas: control, eventos, 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 08:01.