none
Reutilizar código entre distintos forms. RRS feed

  • Pregunta

  • Hola.

    Soy nuevo en el mundo de Windows Form y de C#

    Estoy haciendo una aplicación donde en la parte superior del form se carga una imagen y algunos datos, como por ejemplo la fecha, la hora y cosas así.

    La aplicación es del tipo "siguiente -> siguiente" y por lo tanto va cambiando de form a form. Me gustaría saber si hay alguna manera (seguro que sí pero yo no la se) de implementar esa cabecera en todos los forms reutilizando el código... como si fuera un form dentro de otro form.

    No se si me explico. Vengo del mundo de diseño web y en esa situación tengo claro que puedo usar por ejemplo el include de PHP y ponerlo donde yo quiera, pero en este caso ando algo perdido.

    Espero haberme explicado y que puedan ayudarme.

    Gracias.

    martes, 19 de marzo de 2013 11:34

Respuestas

Todas las respuestas

  • Una forma sencilla de reutilizar elementos entre formularios es definir un control de usuario en el que pongas todo lo que sea común. Como con cualquier otra clase, puedes definir propiedades, métodos y eventos en tu control de usuario para definir la interface con el resto de la aplicación.
    martes, 19 de marzo de 2013 12:35
  • Dentro de las plantillas instalada de Microsoft visual estudio se encuentra la opción Formulario heredado el cual se puede utilizar para estos fines

    Formularios heredados

    Cómo: Heredar formularios Windows Forms

    Herencia visual de formularios Windows Forms


    Angel R. Jimenez G.
    Santo Domingo
    Republica Dominicana
    Blog

    martes, 19 de marzo de 2013 13:00
  • Una forma sencilla de reutilizar elementos entre formularios es definir un control de usuario en el que pongas todo lo que sea común. Como con cualquier otra clase, puedes definir propiedades, métodos y eventos en tu control de usuario para definir la interface con el resto de la aplicación.

    Hola Juan

    Con tu comentario he encontrado en Agregar Nuevo Elemento > Control de Usuario.

    Efectivamente puedo arrastrar botones, labels etc, pero sigo sin tener muy claro que tengo que hacer luego para implementarlo en los forms...

    Siento si es una duda demasiado básica, pero como he comentado estoy algo perdido...

    martes, 19 de marzo de 2013 13:06
  • Hola Angel, gracias por tu aporte... ¿Que diferencia habría entre usar Formulario heredado, Control de usuario y Control de usuario heredado?

    Es que tanto formulario heredado y Control de usuario parecen muy parecidos...

    martes, 19 de marzo de 2013 13:10
  • Si te fijas, una vez que hayas añadido un control de usuario a tu proyecto, te aparecerá en el cuadro de herramientas, en la primera pestaña que se llamará Componentes "nombre de tu aplicación".

    Para utilizarlo, simplemente arrastra el control desde el cuadro de herramientas a tu/s formulario/s.

    Sobre tu otra pregunta, cada cosa tiene sus ventajas. Un formulario heredado, es lo que su nombre indica. Puedes crear formularios derivados de tu formulario heredado. Todos estos formularios hijos heredarán lo que el formulario base contenga, como ocurre con cualquier otra clase de la que hereden clases hijas.

    ¿Ventajas de los controles de usuario? Te van a permitir mover a distinta posición del formulario su contenido. Puedes utilizar varios controles de usuario en un mismo formulario, y algunas otras ventajas. ¿Ventajas de los formularios heredados? Quizá sean más cómodos si realmente todo va a repetirse exactamente igual en los derivados. Si conoces el mundo de asp.net, un control derivado es bastante similar a un master page. Por contra, el control de usuario es más parecido al include que dices que usabas, aunque mucho más flexible y potente.

    martes, 19 de marzo de 2013 13:35
  • Son varias forma por las cuales tu puede obtener un mismo resultado, su nivel de encapsulamiento no varían mucho

    En los formulario heredado tu vas obteniendo una visión del resultado final, es como la pagina maestra en aplicaciones web.


    Angel R. Jimenez G.
    Santo Domingo
    Republica Dominicana
    Blog

    martes, 19 de marzo de 2013 13:38
  • Gracias a todos por las respuestas me han servido de mucha ayuda.
    miércoles, 20 de marzo de 2013 1:57