При изменении текста в RichTextBox я использую следующую процедуру, которая красит мне символы, так как мне надо:
- Код: Выделить всё
Public Sub ColorRtfText(ByVal rtf As RichTextBox)
Dim d, w As Integer
Dim ss As String
rtf.SelectionStart = 0
rtf.SelectionLength = rtf.Text.Length
rtf.SelectionColor = Color.Black
For d = 0 To rtf.Text.Length - 1
w = d
ss = rtf.Text.Substring(d, 1)
rtf.SelectionStart = w
rtf.SelectionLength = ss.Length
Select Case ss
Case "П"
rtf.SelectionColor = Color.Red
Case "И"
rtf.SelectionColor = Color.Green
Case "П"
rtf.SelectionColor = Color.Blue
Case "Е"
rtf.SelectionColor = Color.Blue
Case "Ц"
rtf.SelectionColor = Color.Black
End Select
Next
End Sub
Однако, на больших строчках более 100 символов визуально все это просто Г...НО.
И очень медленно работает... сами понимаете...
Вопрос: Как этот код оптимизировать, чтобы визуально не было замечено как идет замена цвета?
Спасибо!