none
Apariencia Formularios en Windows Forms C# RRS feed

  • Pregunta

  • Hola, hice una pregunta anteriormente, que fue respondida, pero quisiera saber como puedo pasar el color de una forma a todas las formas de mis formularios, osea que sean del mismo color, que el de la forma inicial.
    martes, 28 de noviembre de 2017 20:52

Respuestas

  • Buenas

    No se cual es la pregunta original, pero lo que puedes hacer se me ocurre (sin saber para que ni como), es crear una propiedad publica estatica de tipo Color (o del tipo que sea), y acceder a ella desde el resto de formularios para hacer lo que hagas:

    public static Color ColorDeLoQueSea {get;set;}


    Cuando cambies la propiedad en tu formulario, tambien lo haces a la propiedad, y luego desde el resto de formularios, haces  this.BackGroundColor =   NombreFormConPropiedad.ColorDeLoQueSea; por ejemplo, suponiendo que quieres cambiar el color de fondo del Form2, y que la propiedad se llama MyBackColor y esta en Form1, en el constructor del Form2 puedes hacer

    this.BackGroundColor = Form1.MyBackColor;

    Espero haber resuelto tu duda

    Atte


    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.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    martes, 28 de noviembre de 2017 21:20
  • Entiendo que por tu consulta que generas form2 en diseño y luego antes de ejecutarlo deseas que tenga el mismo color que form1, en tal caso ;

      private void button1_Click(object sender, EventArgs e)
            {
                Form frm = new Form2();
                frm.BackColor = this.BackColor;
                frm.Show();
            }
    Esto entiendo de tu consulta de no ser así, por favór amplia tu comentario saludos

    martes, 28 de noviembre de 2017 21:32

Todas las respuestas

  • Buenas

    No se cual es la pregunta original, pero lo que puedes hacer se me ocurre (sin saber para que ni como), es crear una propiedad publica estatica de tipo Color (o del tipo que sea), y acceder a ella desde el resto de formularios para hacer lo que hagas:

    public static Color ColorDeLoQueSea {get;set;}


    Cuando cambies la propiedad en tu formulario, tambien lo haces a la propiedad, y luego desde el resto de formularios, haces  this.BackGroundColor =   NombreFormConPropiedad.ColorDeLoQueSea; por ejemplo, suponiendo que quieres cambiar el color de fondo del Form2, y que la propiedad se llama MyBackColor y esta en Form1, en el constructor del Form2 puedes hacer

    this.BackGroundColor = Form1.MyBackColor;

    Espero haber resuelto tu duda

    Atte


    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.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    martes, 28 de noviembre de 2017 21:20
  • Entiendo que por tu consulta que generas form2 en diseño y luego antes de ejecutarlo deseas que tenga el mismo color que form1, en tal caso ;

      private void button1_Click(object sender, EventArgs e)
            {
                Form frm = new Form2();
                frm.BackColor = this.BackColor;
                frm.Show();
            }
    Esto entiendo de tu consulta de no ser así, por favór amplia tu comentario saludos

    martes, 28 de noviembre de 2017 21:32
  • Creo que lo que buscar es herencia de controles, create un formulario base, les cambias las propiedades que necesitas y tus formularios deberán de heredar de este ejemplo:

    public class Form1 : formBase  {
    }

    Asumiendo que formBase es un formulario base para todos tus demás forms 

    Espero sea lo que buscas 

    Salu2


    Marvin E. Pineda

      ComboBoxMultiColumns

     NetBarControl

      TextEditor

    miércoles, 29 de noviembre de 2017 2:43
  • https://www.youtube.com/watch?v=OZ2fEo5EBUE&t=2s
    martes, 22 de diciembre de 2020 1:28