Discussion:
Array de controles en vb.net
(demasiado antiguo para responder)
manolo
hace 20 años
Permalink
Hola,

Después de darle muchas vueltas al asunto, he terminado loco.
¿Como se puede hacer un array de controles con vb.net?
He leido algunas cosas acerca de como crear este tipo de controles y no
entiendo algunos detalles.
En las páginas del guille, www.elguille.info, hay un ejemplo de como
crear controles en array, en las cuales explica que esto solo se puede hacer
en tiempo de ejecución.
En el programa que tiene, crea dos objetos base con estos nombres:
lblcampo_0 y txtcampo_0.
En una función, crea, a partir de estos controles base, el resto de
controles del array.
Para cada control nuevo, le va poniendo el nombre: lblcampo_1,
lblcampo_2, ... lblcampo_n, e igualmente con el control txtcampo_n.
Mis preguntas son:
¿Como se puede acceder a los eventos y propiedades de los controles 1..n
si en el vb solo aparece lblcampo_0?
¿Esto solo se puede hacer en tiempo de ejecución?

Muchas gracias y un saludo.
ajpb
hace 20 años
Permalink
Se puede crear una coleccion y llenarla con los controles ( una coleccion
para cada tipo )

Saludos
...
manolo
hace 20 años
Permalink
Hola,

¿Tienes algún ejemplo?

Gracias y un saludo.
...
ajpb
hace 20 años
Permalink
dim Coleccion_De_Labels as New Collection

Coleccion_De_Labels.Add(Label1)
Coleccion_De_Labels.Add(Label2)
Coleccion_De_Labels.Add(Label3)

Coleccion_De_Labels(1).Text = "Este es el Label1"
Coleccion_De_Labels(2).Text = "Este es el Label2"
Coleccion_De_Labels(3).Text = "Este es el Label3"
...
manolo
hace 20 años
Permalink
Hola,

¿Y los eventos? ¿Como puedo hacer un array de botones y ver en que botón
se ha hecho click?

Gracias y un saludo.
...
ajpb
hace 20 años
Permalink
Tienes que aregar por codigo el evento de cada control a un mismo handler

Label1_Click (...argumentos.. ) Handles Label1.Click, Label2.Click,
Label3.Click

Para saber en cual se ha pinchado usas el argumento "sender" que no es otra
cosa que el control en si, lo puedes identificar por el nombre ( sender.name
) o cualquier identificacion que le hayas puesto en la propiedad Tag, por
ejemplo un numero que sea identico al indice en la coleccion ( sender.tag ),
alli usas IF o SELECT CASE ya es cuestion de estilo.

Select Case sender.tag

Case 1
msgbox "Este es el Label1"

Case 2 "Este es el Label2"
...
Manolo
hace 20 años
Permalink
Hola,

Muchas gracias, voy a investigar un poco, que estoy entre hacer el array
en tiempo de ejecución o diseño y ando liado...

Muchas gracias y un saludo.
...
Continúe leyendo en narkive:
Loading...