Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Jero67 en 26 Septiembre 2011, 19:52 pm



Título: Cambio de color de label
Publicado por: Jero67 en 26 Septiembre 2011, 19:52 pm
Hola a todos.

No he visto ningun subforo de presentaciones, y como este subforo es el que mas voy a usar pues me presento aquí  :rolleyes:

Estoy empezando con C# y de momento me voy aclarando, aunque poco a poco, con lo que quiero hacer, pero me encuentro con que no se como plantearme esto:

Al hacer click en un label este cambia sus propiedades de colores con el codigo que pongo mas abajo, pero lo que quiero hacer es poder desmarcar la opcion al hacer de nuevo click sobre el mismo label y esto la verdad es que no tengo ni idea como plantearlo, si me podeis encaminar al planteamiento os lo agradecería.

Código:
         List <int> SeleccionDeOpcion = new List <int>();

        private void label1_Click(object sender, EventArgs e)
        {
            label1.ForeColor = Color.White;
            label1.BackColor = Color.Red;
            SeleccionDeOpcion.Add(01);
        }


Título: Re: Cambio de color de label
Publicado por: Keyen Night en 27 Septiembre 2011, 01:58 am
Realmente no entendi, lo poco que entendi es que tu quieres que al darl Click a un label se ponga verde y al darle de nuevo se ponga rojo y viceversa?


Título: Re: Cambio de color de label
Publicado por: criskapunk en 27 Septiembre 2011, 03:20 am
No estoy seguro, peeeeero... puede ser esto?

Código
  1.        private void label1_Click(object sender, EventArgs e)
  2.        {
  3.            label1.BackColor = Color.Red;
  4.            label1.Enabled = false;
  5.        }

Un saludo.


Título: Re: Cambio de color de label
Publicado por: Keyen Night en 27 Septiembre 2011, 03:54 am
Aún no terminas de decir que es lo que quieres :-X


Título: Re: Cambio de color de label
Publicado por: Jero67 en 27 Septiembre 2011, 12:33 pm
Ok, parece que no me he explicado bien, a ver si a hora lo hago mejor  :laugh:

Tengo varios label con el BackColor=Green

Si pulso una vez quiero que se ponga el BackColor=Red
Y si pulso una segunda vez se tiene que volver a BackColor=Green


Realmente no entendi, lo poco que entendi es que tu quieres que al darl Click a un label se ponga verde y al darle de nuevo se ponga rojo y viceversa?

Exactamente tal y como dices Keyen Night


Título: Re: Cambio de color de label
Publicado por: Jero67 en 27 Septiembre 2011, 12:52 pm
Ya lo tengo, simplemente con un IF lo he solucionado  :silbar:

Código:
List <int> SeleccionDeOpcion = new List <int>();
        bool activado = true;

        private void label1_Click(object sender, EventArgs e)
        {
            if (activado)
            {
                label1.ForeColor = Color.White;
                label1.BackColor = Color.Red;
                SeleccionDeOpcion.Add(01);
                activado = false;
            }
            else
            {
                label1.ForeColor = Color.Black;
                label1.BackColor = Color.GreenYellow;
                
                activado = true;
            }
        }

Gracias de todas formas


Título: Re: Cambio de color de label
Publicado por: .mokk. en 27 Septiembre 2011, 16:28 pm
Ya lo tengo, simplemente con un IF lo he solucionado  :silbar:

Código:
List <int> SeleccionDeOpcion = new List <int>();
        bool activado = true;

        private void label1_Click(object sender, EventArgs e)
        {
            if (activado)
            {
                label1.ForeColor = Color.White;
                label1.BackColor = Color.Red;
                SeleccionDeOpcion.Add(01);
                activado = false;
            }
            else
            {
                label1.ForeColor = Color.Black;
                label1.BackColor = Color.GreenYellow;
                
                activado = true;
            }
        }

Gracias de todas formas

Muy bien aunque a mi parecer es mejor utilizar no tantas variables osea en vez de usar una variable booleana, podemos usar el propio label para comprobar, simplemente checamos que color tenemos en el y ya si tiene tal colo hace tal cosa sino hace la otra, bueno yo preferentemente intento usar siempre la menor cantidad de variables jeje o si lo hago comentarlas porque luego se me olvida para que es cada una xD


Título: Re: Cambio de color de label
Publicado por: Jero67 en 28 Septiembre 2011, 00:04 am
Gracias .mokk. probaré como dices así voy viendo mas opciones  ;-)


Título: Re: Cambio de color de label
Publicado por: criskapunk en 29 Septiembre 2011, 03:12 am
Algo así:

Código
  1.        private void label1_Click(object sender, EventArgs e)
  2.        {
  3.            if (label1.BackColor != Color.Green)
  4.            {
  5.                label1.BackColor = Color.Green;
  6.            }
  7.            else
  8.            {
  9.                label1.BackColor = Color.Red;
  10.            }
  11.        }

Un saludo.


Título: Re: Cambio de color de label
Publicado por: s00rk en 29 Septiembre 2011, 05:27 am
Algo así:

Código
  1.        private void label1_Click(object sender, EventArgs e)
  2.        {
  3.            if (label1.BackColor != Color.Green)
  4.            {
  5.                label1.BackColor = Color.Green;
  6.            }
  7.            else
  8.            {
  9.                label1.BackColor = Color.Red;
  10.            }
  11.        }

Un saludo.

Si jeje yo prefiero asi porque me ahorro mas variables jeje, ya solo uso cuando ahora si ya no creo que no hay otra salida(aunque siempre hay diferentes formas, pero no me doy cuenta hasta despues de un tiempo xD).