public void HighlightSyntax(Regex regex, Color color) { var text = HighlightSupportRichTextBox.Text; var matches = regex.Matches(text).Cast <Match>().ToArray(); ResetTextBoxColors(); HighlightSupportRichTextBox.BeginUpdate(); int lastIndex = HighlightSupportRichTextBox.SelectionStart; int lastLength = HighlightSupportRichTextBox.SelectionLength; HighlightSupportRichTextBox.SelectAll(); if (matches.Length > 0) { int start = 0; int end = matches.Length - 1; SelectMatchesFromArr(matches, start, end, color); } HighlightSupportRichTextBox.Select(lastIndex, lastLength); HighlightSupportRichTextBox.SelectionColor = DefaultColor; HighlightSupportRichTextBox.EndUpdate(); }
public void ResetTextBoxColors() { HighlightSupportRichTextBox.BeginUpdate(); HighlightSupportRichTextBox.ForeColor = DefaultColor; int selectionStart = HighlightSupportRichTextBox.SelectionStart; int selectionLength = HighlightSupportRichTextBox.SelectionLength; HighlightSupportRichTextBox.SelectAll(); HighlightSupportRichTextBox.SelectionColor = DefaultColor; HighlightSupportRichTextBox.DeselectAll(); HighlightSupportRichTextBox.SelectionStart = selectionStart; HighlightSupportRichTextBox.SelectionLength = selectionLength; HighlightSupportRichTextBox.EndUpdate(); }