CLR: .Net / Mono / Boo / Otros CLR > C#

 Asignar eventos a varias etiquetas

(1/1)

Igu:
Muy buenas.

Os cuento un poco mi problema. Mi programa trata de hacer un laberinto, cuyas paredes son etiquetas de un tamaño predefinido sin texto y de un color diferente al del formulario, el programa lo que hace es cuando metes el puntero del ratón dentro de una etiqueta lo devuelve al punto de inicio. Todo eso lo hacía correctamente ya que el laberinto era siempre el mismo y nunca cambiaba. El problema vino al plantearme una mejora del programa, que consistía en crear un número aleatorio de etiquetas  de forma dinámica y cada vez cambiar su ubicación. Antes para asignar a  las etiquetas el evento "mouseenter" lo que hacía era seleccionarlas todas, asignarles a todas el mismo evento. Ahora como se crean en tiempo de ejecución no sé como hacerlo.

Saludos¡¡¡

Painkiller:
para asignar nuevos eventos a instancias creadas en tiempo de ejecucion se emplea la siguiente asignacion:

--- Código: C# --- Label lblGenerated = new Label();//Se inicializan valores (posicion, texto, etc.)lblGenerated.MouseEnter += new EventHandler(lblGenerated_MouseEnter);  
En el cual lblGenerated_MouseEnter es el nombre de la funcion que va a atender el evento. Un punto importante a notar es que se necesita que la firma de la aplicacion coincida con la del delegado definido para el evento. Si no se conoce la firma del delegado el autocomplete de VisualStudio ofrece la opcion de generarla  :good:

Igu:
Problema solucionado ¡¡¡ Muchas gracias, ha sido ponerlo y funcionar.
Saludos ¡¡

Navegación

[0] Índice de Mensajes

Ir a la versión completa