Изменить цвет всех найденых слов в 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д