none
Cambiar color de label RRS feed

  • Pregunta

  • Buen día, como hago para cambiar el color de fondo de una label, el cual utilizo para mostrar información de una operación:

    private void PromEvaEscri()
            {
    
                if (TxtEvaEsc1.Text != string.Empty)
                {
                    EvaEsc1 = float.Parse(TxtEvaEsc1.Text); 
                }
                else
                {
                    EvaEsc1 = 0;
                }
                if (TxtEvaEsc2.Text != string.Empty)
                {
                    EvaEsc2 = float.Parse(TxtEvaEsc2.Text); 
                }
                else
                {
                    EvaEsc2 = 0;
                }
    
                if (TxtEvaEsc3.Text != string.Empty)
                {
                    EvaEsc3 = float.Parse(TxtEvaEsc3.Text); 
                }
                else
                {
                    EvaEsc3 = 0;
                }
    
                if (TxtEvaEsc4.Text != string.Empty)
                {
                    EvaEsc4 = float.Parse(TxtEvaEsc4.Text); 
                }
                else
                {
                    EvaEsc4 = 0;
                }
    
                if (TxtEvaEsc5.Text != string.Empty)
                {
                    EvaEsc5 = float.Parse(TxtEvaEsc5.Text);
                }
                else
                {
                    EvaEsc5 = 0;
                }
    
                 PromEvaEsc = (EvaEsc1 + EvaEsc2 + EvaEsc3 + EvaEsc4+ EvaEsc5) / ConteoEvaEscrita ;
                //Convert.ToDouble(PromEvaEsc = ((EvaEsc1 + EvaEsc2 + EvaEsc3 + EvaEsc4 + EvaEsc5) / ConteoEvaEscrita) / 10);
    
                LblPromeEvaEsc.Text = PromEvaEsc.ToString("#.0");          
    
            }

    El metodo lo llamo desde otro control el cual calcula y coloca la información en el label (LblPromeEvaEsc.Text), lo que necesito es cambiar el color del fondo, segun el valor calculado, necesito solo dos valores de fondo, uno para aprobado y reprobado.

    Programo en C# en visual studio community 2019, en Windows Form.

    De antemano muchas gracias por sus valiosos aportes.


    viernes, 10 de abril de 2020 16:42

Respuestas

  • Buena tarde, me respondo yo mismo.

    Esta es la solución que implemente.

            // Para cambiar el color del fondo del textbox segun el nota obtenida como definitiva
            private void ValidaNotaDefColor(object sender, EventArgs e)
            {
              
                Label LabelNotasDef =  (Label)sender;
            
                double value;
                if (double.TryParse(LabelNotasDef.Text, out value) && value >= 1.0 && value <= 5.0)
                {
                    if (value <= 3.4)
                    {
                        LabelNotasDef.BackColor = Color.Red;
                        LabelNotasDef.ForeColor = Color.White;
                    }
                    else if (value <= 5.0)
                    {
                        LabelNotasDef.BackColor = Color.Green;
                        LabelNotasDef.ForeColor = Color.White;
                    }
                }
                else
                {
                    LabelNotasDef.ForeColor = SystemColors.WindowText;
                }
            }
    Para las personas que lo lleguen a necesitar

    • Marcado como respuesta VISANCOR74 viernes, 10 de abril de 2020 17:14
    viernes, 10 de abril de 2020 17:14

Todas las respuestas

  • Buena tarde, me respondo yo mismo.

    Esta es la solución que implemente.

            // Para cambiar el color del fondo del textbox segun el nota obtenida como definitiva
            private void ValidaNotaDefColor(object sender, EventArgs e)
            {
              
                Label LabelNotasDef =  (Label)sender;
            
                double value;
                if (double.TryParse(LabelNotasDef.Text, out value) && value >= 1.0 && value <= 5.0)
                {
                    if (value <= 3.4)
                    {
                        LabelNotasDef.BackColor = Color.Red;
                        LabelNotasDef.ForeColor = Color.White;
                    }
                    else if (value <= 5.0)
                    {
                        LabelNotasDef.BackColor = Color.Green;
                        LabelNotasDef.ForeColor = Color.White;
                    }
                }
                else
                {
                    LabelNotasDef.ForeColor = SystemColors.WindowText;
                }
            }
    Para las personas que lo lleguen a necesitar

    • Marcado como respuesta VISANCOR74 viernes, 10 de abril de 2020 17:14
    viernes, 10 de abril de 2020 17:14
  • Hola VISANCOR74

    Muchas gracias por compartirnos la solucion!

    https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.label?view=netframework-4.8

    Aqui un link de la documentacion oficial por si necesitas alguna otra info del tema.

    Gracias por usar los foros de MSDN.

     

    Luis Diego Mora

     

    --------------------------------------------------------------------------

    viernes, 10 de abril de 2020 17:19
    Moderador