2015-09-08 130 views
1

所以我正在构建一个非常基本的卡路里计数器。我有3个标签显示总热量计数,一个显示我拥有的最后卡路里量,一个显示我吃过的物品数量。C#标签颜色变化

有3个增加卡路里,3个减少卡路里。 所以我想知道如何做到这一点:

如果卡路里高于0,背景颜色应该变成绿色,如果它低于0,背景颜色应该是红色。我知道这不是很多信息,我为此道歉。我是一个noob,但这不是理由。感谢您的帮助!

回答

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; 
     } 
    } 
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
calorieCountLabel.BackColor = calories.Count > 0 ? Color.green : Color.red