Изменить цвет всех найденых слов в RichTextBox - C#
Формулировка задачи:
Доброго дня всем. Такая проблема, казалось бы пустяковая - в RichTextBox у определенных слов нужно поменять цвет. Был выбран такой способ:
Но цвет меняется только у первого вхождения.
Кто может предложить эффективный способ сменить цвет у всех вхождений?
string[] error = new string[3];
error[0] = @"Не совпадают даты:";
error[1] = @"Не сходятся даты в файле:";
error[2] = @"Не сходятся значимые даты в файле:";
foreach (string t in error)
{
if (Regex.IsMatch(richTextBoxforMessag.Text, t))
{
int startPosition = richTextBoxforMessag.Find(t);
richTextBoxforMessag.SelectionStart = startPosition;
richTextBoxforMessag.SelectionLength = t.Length;
richTextBoxforMessag.SelectionColor = Color.Red;
}
}Решение задачи: «Изменить цвет всех найденых слов в RichTextBox»
textual
Листинг программы
string regExpr = @"Не совпадают даты:|Не сходятся даты в файле:|Не сходятся значимые даты в файле:";
foreach (Match m in Regex.Matches(richTextBoxforMessag.Text, regExpr))
{
richTextBoxforMessag.SelectionStart = m.Index;
richTextBoxforMessag.SelectionLength = m.Length;
richTextBoxforMessag.SelectionColor = Color.Red;
}
}