C#标签颜色更改

3
我正在构建一个非常基本的卡路里计数器。我有三个标签显示总卡路里数,一个显示我上次摄入的卡路里量,一个显示我吃了多少个物品。
有三个可以增加卡路里的,还有三个可以减少卡路里的。 所以我想知道如何做到这一点:
如果卡路里超过0,则背景颜色应变为绿色;如果低于0,则背景颜色应变为红色。我知道这不是很详细,对此我深感抱歉。我是个新手,但这并不是借口。谢谢您的帮助!
4个回答

10
要更改控件的背景颜色,只需将其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;

5

有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;
        }
    }

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接