我需要帮助找到两个数字之间的值和值,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
。我试图在两者之间找到价值但失败了,我真的需要一些帮助!
答案 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;
}