Forums Últimos mensajes - Powered by IBM
 

Colección dinámica

06/09/2005 - 17:05 por Juan José Barrionuevo | Informe spam
Gente:
Necesito cargar la colección Controls de un formulario con controles propios
según se haga clic en un nodo u otro.
Por ejemplo: tengo un treeview con x cantidad de nodos. Dependiendo el nodo
que se seleccione, debo agregar un control X a la colección Controls del
formulario.
Quiero hacer esto de la forma más eficiente posible y no haciendo un Switch
enorme.
Desde ya, Muchas gracias.

PD: Hay que tener en cuenta que van a ser muchos nodos con posibilidad de
expansión. Por lo cual no es óptimo instanciar todos los controles de una.
(sobre todo por que seguramente el usuario entrará, hará clic en un par de
nodos y cerrará la aplicación)

Juan José Barrionuevo
 

Leer las respuestas

#1 Bela Istok
06/09/2005 - 20:08 | Informe spam
Bueno creo que lo que puede ayudarte en este aspecto es Reflection, ya que
te permitira en tiempo de ejecusión instanciar los controles que necesites,
lo que yo haria es crear una clase derivada de TreeNode que contenga algo un
campo o una propieda de tipo control que cree la instancia del control
necesario, y tendrias en el codigo, algo así OnSelect (y ahi creas la
instancia del control que el mismo nodo esta guardando. (como te dije puedes
crear la instancia por reflection y así te ahorras tener que crear el
control si no hasta que el usuario seleccione un nodo). Te recomendaria que
Investigues un poco sobre Composite y sobre Abstract Factory (estos son
patrones de desarrollo). Cualquier duda o comentario, estaremos conversando
;)

Saludos,

Bela Istok

"Juan José Barrionuevo" wrote in message
news:
Gente:
Necesito cargar la colección Controls de un formulario con controles
propios según se haga clic en un nodo u otro.
Por ejemplo: tengo un treeview con x cantidad de nodos. Dependiendo el
nodo que se seleccione, debo agregar un control X a la colección Controls
del formulario.
Quiero hacer esto de la forma más eficiente posible y no haciendo un
Switch enorme.
Desde ya, Muchas gracias.

PD: Hay que tener en cuenta que van a ser muchos nodos con posibilidad de
expansión. Por lo cual no es óptimo instanciar todos los controles de una.
(sobre todo por que seguramente el usuario entrará, hará clic en un par de
nodos y cerrará la aplicación)

Juan José Barrionuevo

Preguntas similares