转换和查找值

时间:2018-05-01 22:49:06

标签: c#

我需要帮助找到两个数字之间的值和值,0~274如果值在这些值之间,它将允许我的一个表单上的文本为黑色。如果文本是275~300,则文本将为红色。

x > y

private void richTextBox1_TextChanged(object sender, EventArgs e) { string Lent = richTextBox1.TextLength.ToString(); l6.Text = Lent + "/300"; if (Lent == "275") { l6.ForeColor = Color.Red; } else if (Lent == "274") { l6.ForeColor = Color.Red; } else if (Lent == "0") { l6.ForeColor = Color.Red; } } 是我的l6,它会显示label6的文字长度,例如richTextBox。我试图在两者之间找到价值但失败了,我真的需要一些帮助!

2 个答案:

答案 0 :(得分:2)

对范围使用整数比较。

private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
        var textLength = richTextBox1.TextLength;
        l6.Text = @"{textLength}/300";

        // Add ranges in condition and set color.
        if (textLength == 0 || textLength <= 274)
        {
            l6.ForeColor = Color.Black; //Whatever color
        }
        else if (textLength > 275)
        {
            l6.ForeColor = Color.Red;
        }
    }

备选且更易读的解决方案。

    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
        var textLength = richTextBox1.TextLength;
        l6.Text = @"{textLength}/300";
        l6.ForeColor = (textLength >= 275) ? Color.Red : Color.Black;
    }

答案 1 :(得分:2)

您应该将长度保持为数字,这样您就可以将其与其他数字进行正确比较:

int length = richTextBox1.TextLength;
l6.Text = length + "/300";

// when the length is 0 or higher than 275
if (length == 0 || length > 275)
{
    // make the text red
    l6.ForeColor = Color.Red;
}
else
{
    // otherwise keep it black
    l6.ForeColor = Color.Black;
}