C#标签颜色变化

时间:2015-09-08 18:24:59

标签: c# winforms backcolor

所以我正在建立一个非常基本的卡路里计数器。我有3个标签显示总卡路里计数,一个显示我最后的卡路里数量,一个显示我吃的食物数量。

有3个增加卡路里,3个减少卡路里。  所以我想知道我会怎么做:

如果卡路里高于0,背景颜色应变为绿色,如果低于0,则背面颜色应为红色。我知道这不是很多信息,我为此道歉。我是一个菜鸟,但这不是借口。谢谢你的帮助!

4 个答案:

答案 0 :(得分:8)

要更改控件的背景颜色,只需将其BackColor属性设置为颜色System.Drawing.Color.Red就足够了。

例如在您的情况下:

if (calori > 0)
    label1.BackColor = System.Drawing.Color.Green;
else
    label1.BackColor = System.Drawing.Color.Red;

或者:

label1.BackColor = (calori > 0) ? System.Drawing.Color.Green : System.Drawing.Color.Red;

答案 1 :(得分:2)

显示总卡路里计数的3个标签,表示它们已更改。 您可以在标签上使用TextChanged事件(在表单设计器中按F4并转到事件菜单)。

private void label1_TextChanged( object sender, EventArgs e )
    {
        if ( this._calories < 0 )
        {
            this.lb_Main.BackColor = Color.Red;
        }
        else
        {
            this.lb_Main.BackColor = Color.Green;
        }
    }

答案 2 :(得分:1)

calorieCountLabel.BackColor = calories.Count > 0 ? Color.green : Color.red

答案 3 :(得分:0)

if (calori < 0)
    label.Foreground = new SolidColorBrush(Colors.Red);
else
    label.Foreground = new SolidColorBrush(Colors.Green);