Конфигурация:Формат цвет текста в C# Формы
- Windows 7
- .NET 3.5
- Visual Studio 2008
Резюме: отправка слова в RTB через для цикла; отформатируйте их на основе их содержимого («ОК» отображается зеленым цветом, «неудачно» отображается красным цветом).
Код:
for (int i = 0; i < inputValues.Length; i++)
{
//checking if the value is OK or not
string answer = functionReturningString(inputValues[i], referenceValue);
textBox4.Text += answer; //and sending the result string to text box
}
Сейчас я просто пытаюсь выбрать строку, которая была добавлена в прошлом и форматировать его на основе его содержания.
textBox4.SelectAll();
textBox4.Select(textBox4.SelectedText.Length - answer.Length, answer.Length);
if (answer == "OK")
{
textBox4.SelectionColor = Color.Green;
} else {
textBox4.SelectionColor = Color.Red;
}
textBox4.Refresh();//I want to see every value as soon as added
textBox4.Text += "\r\n"; //adding space between words
Что касается результата, то в конечном счете использовать «SelectionColor» на все слова в RTB.
В: Как я могу убедиться, что ранее отформатированные слова не меняют цвет?
Обновление: Предлагаемое решение также не работает. Слова будут отображаться в их правильном цвете (сначала). Затем добавляется следующее слово и меняется цвет всей ячейки.
http://stackoverflow.com/questions/2527700/change-color-of-text-within-a-winforms-richtextbox/2531177#2531177 –
@Ivan stoev Мне нужно удалить rtb.refresh(), если я использую код, который вы предложили? – Avigrail
Я не уверен, почему бы не попробовать и посмотреть, нужно ли это или нет. –