C#根据轨迹栏值更改标签颜色

C#根据轨迹栏值更改标签颜色,c#,colors,trackbar,C#,Colors,Trackbar,我正在使用一个值为0到100的轨迹栏。在我的代码中,如下图所示,automatic=0 我试图做到的是,任何低于35的数字都应该将标签(lableFS)的颜色更改为红色,而高于35的数字应该将标签的前景色更改为绿色。我可以很好地工作,但是这里的例外是,如果轨迹栏的值为0,或者即使labelFS文本设置为“自动”,labelFS前景色也应该是黑色的。下面是一个gif图像,它将向您准确地显示我的意思,以及我当前的代码 提前感谢您的帮助 我知道这是一个简单的问题,但我已经尝试了许多方法,我似乎找不到

我正在使用一个值为0到100的轨迹栏。在我的代码中,如下图所示,automatic=0

我试图做到的是,任何低于35的数字都应该将标签(lableFS)的颜色更改为红色,而高于35的数字应该将标签的前景色更改为绿色。我可以很好地工作,但是这里的例外是,如果轨迹栏的值为0,或者即使labelFS文本设置为“自动”,labelFS前景色也应该是黑色的。下面是一个gif图像,它将向您准确地显示我的意思,以及我当前的代码

提前感谢您的帮助

我知道这是一个简单的问题,但我已经尝试了许多方法,我似乎找不到什么是阻止它变成黑色

        private void fanSlider_Scroll(object sender, EventArgs e)
    {
        lblFS.Text = "" + fanSlider.Value * 5;

        if (lblFS.Text == "0")
        {
            lblFS.Text = "Automatic";
        }

        int value;
        if (Int32.TryParse(lblFS.Text, out value))
        {
            if (value <= 35)
            {
                lblFS.ForeColor = System.Drawing.Color.Red;
            }
            if (value > 35)
            {
                lblFS.ForeColor = System.Drawing.Color.Green;

            }

            if (value == 0)
            {
                lblFS.ForeColor = System.Drawing.Color.Black;
            }
        }


    }
private void fansslider\u滚动条(对象发送方,事件参数e)
{
lblFS.Text=”“+fansloider.Value*5;
如果(lblFS.Text==“0”)
{
lblFS.Text=“自动”;
}
int值;
if(Int32.TryParse(lblFS.Text,out值))
{
如果(值35)
{
lblFS.ForeColor=System.Drawing.Color.Green;
}
如果(值==0)
{
lblFS.ForeColor=System.Drawing.Color.Black;
}
}
}

我认为这里发生的事情是,每当条形图为0时,您将其文本设置为
自动
,然后您尝试更改其颜色检查,如果其文本为0,但由于您已将其更改为
自动
,因此条件将始终为假

试试这个:

private void fanSlider_Scroll(object sender, EventArgs e)
{
    lblFS.Text = "" + fanSlider.Value * 5;
    if (lblFS.Text == "0")
    {
        lblFS.Text = "Automatic";
        lblFS.ForeColor = System.Drawing.Color.Black;
    }
    int value;
    if (Int32.TryParse(lblFS.Text, out value))
    {
        if (value <= 35)
        {
            lblFS.ForeColor = System.Drawing.Color.Red;
        }
        if (value > 35)
        {
            lblFS.ForeColor = System.Drawing.Color.Green;
        }
    }
}
private void fansslider\u滚动条(对象发送方,事件参数e)
{
lblFS.Text=”“+fansloider.Value*5;
如果(lblFS.Text==“0”)
{
lblFS.Text=“自动”;
lblFS.ForeColor=System.Drawing.Color.Black;
}
int值;
if(Int32.TryParse(lblFS.Text,out值))
{
如果(值35)
{
lblFS.ForeColor=System.Drawing.Color.Green;
}
}
}

我就是这么想的,我想我现在有一种精神障碍,无法找到它发生的地方。不管怎样,这起作用了,谢谢你的帮助@user3627587很乐意帮助……:)有时这种情况也会发生在我身上,非常愚蠢的小错误占用了我的时间,我一直试图找到错误,但我找不到,当我第二天发现时,我说该死P如果这有帮助,请选择它作为答案并向上投票。直接使用FanSloider.Value,而不是检查标签文本。我现在要回去做,谢谢提示。