Преобразование и поиск значений

Мне нужна помощь в поиске значения и значений между двумя числами, 0 ~ 274, и если значение находится между этими значениями, это позволит моему тексту в одной из моих форм быть черным. Если текст 275 ~ 300, текст будет красным.

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/300". Я пытался найти значения между ними, но не смог, и мне действительно нужна помощь!

Почему вы устанавливаете ForeColor = Color.Red; для всех условий?

Harsh 02.05.2018 01:09

я допустил небольшую ошибку при наборе текста и не смог отредактировать

Whiteout Productions 08.05.2018 20:01
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
46
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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;
    }

Ваше альтернативное решение делает нечто совершенно иное.

poke 02.05.2018 01:01

Основываясь на вопросе OP, для длины текста выше 275 текст должен быть красным, в противном случае - черным.

Harsh 02.05.2018 01:03

@pokeВы знаете, вопрос вместе с примером не совсем четко определяет желаемое поведение. Идея, которую я пытался передать, заключалась в том, чтобы использовать длину как int и использовать любой цвет в зависимости от условия.

Harsh 02.05.2018 01:06
Ответ принят как подходящий

Вы должны сохранить длину как число, чтобы вы могли правильно сравнить его с другими числами:

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

Другие вопросы по теме