none
Control Personalizado (TextBox) RRS feed

  • Pregunta

  • Cordial saludo, espero me puedan ayudar y de manera anticipada muchas gracias.

    Estoy desarrollando un sistema en Windows Forms pero la verdad no quiero usar el control TextBox con su diseño convencional por lo tanto decidí crear uno con varios controles para lograr un diseño mas atractivo y se compone de esta manera.

    Uso un Panel color Silver y dentro de ese panel uso un segundo Panel color Blanco y dentro del segundo panel tengo un TextBox con su propiedad BorderStyle en None para que no muestre el borde, al final obtengo un TextBox que le puedo validar si esta vacío el Panel 1 se pone de color rojo siendo el borde del control indicando que ese campo es obligatorio.

    Adjunto una imagen con el fin de que me entiendan como se ve en realidad pero cabe mencionar que cada campo lo diseño con tres controles y lo que busco es evitar cada diseño en los formulario quisiera hacer un solo control re utilizable y que me quede de igual manera.


    lunes, 1 de octubre de 2018 22:22

Respuestas

  • Para no perderlas, tienes que crearlas como propiedades de tu user control, de modo que accedas a las que quieres como quieres, por ejemplo:

    public string Text
    {
        set
        {
            texbox.Text = value;
        } 
        get
        {
            return texbox.Text;
        } 
    } 

    Así, tu user control tiene una propiedad tipo Text en la que haces lo que quieras, y como esa puedes añadir todas las que necesites. 

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub
    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    martes, 2 de octubre de 2018 19:27

Todas las respuestas

  • Podrias construir un UserControl. Pon los dos paneles y el textbox dentro del UserControl, y luego utiliza ese UserControl dentro de tus formularios.
    martes, 2 de octubre de 2018 16:10
  • Buenas,

    Adicionalmente a la respuesta de Alberto, si ese UserControl lo creas dentro de una dll en vez de en tu proyecto, y referencias en tu proyecto esa dll que has creado, puedes usarlo en tantos proyectos quieras muy cómodamente. 

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub
    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    martes, 2 de octubre de 2018 17:21
  • Hola, gracias por tu ayuda

    Lo intente pero lastimosamente pierdo algunas propiedades del TextBox por ejemplo el cambio de fuente y TextAlign entre otros.

    Como puedo evitar perder las propiedades.

    martes, 2 de octubre de 2018 19:14
  • Para no perderlas, tienes que crearlas como propiedades de tu user control, de modo que accedas a las que quieres como quieres, por ejemplo:

    public string Text
    {
        set
        {
            texbox.Text = value;
        } 
        get
        {
            return texbox.Text;
        } 
    } 

    Así, tu user control tiene una propiedad tipo Text en la que haces lo que quieras, y como esa puedes añadir todas las que necesites. 

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub
    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    martes, 2 de octubre de 2018 19:27