none
Utilización de UserControl RRS feed

  • Pregunta

  • Vine con la idea de usar un TreeView y vincularlo con varios paneles diferentes, cosa de que una vez que se seleccione alguno de las opciones se oculten todos los otros paneles y quede solo el que se selecciono.
    En las sugerencias que te muestran antes de crear un post me apareció la siguiente:
    http://social.msdn.microsoft.com/Forums/es-ES/7db368e7-6124-4a80-878d-18184c0c7001/treeview-con-multiples-paneles?forum=winformses

    Donde hacen referencia a la utilización de UserControl, algo que yo no conocia.

    El que formulo la pregunta, tenia la misma idea que yo: Vincular el treeview con paneles e ir escondiendolos a medida que se selecciona una opcion, pero le sugirieron que utilice UserControl

    Por lo que entendí un UserControl no es mas que otra herramienta o elemento, como quieran llamarlo, que puedes arrastrar (hablando mal) a tu diseño, entonces lo diseñas una vez y ya lo tienes guardado para otros proyectos.

    Y ahora estoy confundido con respecto a cuando debería utilizarlo. En la otra pregunta del foro el partner dice:
    "Lo mejor que puede hacer sin complicarse mucho la vida y sin tener que recurrir a controles de terceros o hacks del TabControl es crear UserControl's."

    Mi proyecto va de la siguiente forma: 

    Entonces, cuando uno hace clic en el Nodo1, en el panel de la derecha quiero mostrar un datagridview, pero cuando se hace clic en algun otro Nodo, quiero mostrar otro formulario "estándar" que se repetirá para varios elementos.

    Entonces, ¿debería reemplazar la idea de usar paneles por userControl?

    No comprendo cuales serian las ventajas y desventajas..

    Gracias por el tiempo :)

    EDITO: mientras tanto estuve investigando un poco mas y por lo que veo, si diseño un control entonces deberia tener en cuenta que hay que crear las funciones, y algo asi como volver a definir todas las que ya traen los elementos que utilizo por lo que estoy viendo que no parece utili usar un usercontrol en este caso..

    miércoles, 19 de marzo de 2014 14:06

Respuestas

  • No comprendo cuales serian las ventajas y desventajas..

    Lo que quieres hacer se puede conseguir tanto con paneles como con UserControls. La ventaja de usar UserControls es que te queda todo encapsulado. Por ejemplo, si dentro del usercontrol tienes tres botones con sus correspondientes eventos click, esos eventos te quedan dentro de la clase del usercontrol. En cambio, si usaras paneles, los eventos te quedan en la clase del formulario que contiene los paneles, y si hay varios paneles en el formulario al final acabas con un code-behind que tiene centenares de eventos entremezclados.

    Si tienes funciones comunes a varios paneles, encapsúlalas en una clase. Desde los usercontrols puedes llamar a esa clase. Esto, además de permitirte usar UserControls, tiene una vez más la ventaja de la encapsulación; de lo contrario estos métodos los habrías puesto en el code-behind del formulario, entremezclados con todos los manejadores de eventos de todos los paneles, resultando en una aplicación menos estructurada y más difícil de mantener.

    miércoles, 19 de marzo de 2014 15:04