Я написал небольшую подпрограмму, которая делает это:
Private Sub changeRTF(ByVal strToChange As String, ByRef richTextBox As RichTextBox, ByVal color As Color, Optional ByVal ital As Boolean = False, Optional ByVal bold As Boolean = False, Optional ByVal pointSize As Single = -1)
richTextBox.SelectionStart = richTextBox.Find(strToChange, RichTextBoxFinds.MatchCase)
If ital And bold Then
richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Bold + FontStyle.Italic)
Else
If ital Then richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Italic)
If bold Then richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Bold)
End If
richTextBox.SelectionColor = color
Dim originalFontFamily As FontFamily = richTextBox.SelectionFont.FontFamily
Dim originalFontStyle As FontStyle = richTextBox.SelectionFont.Style
If pointSize > 0 Then richTextBox.SelectionFont = New Font(originalFontFamily, pointSize, originalFontStyle)
End Sub
Итак, вы должны создать свой текст, а затем вызвать changeRTF("Bob",richtextbox1,color.gold,true)
.
Единственная проблема с этим кодом - этов настоящее время находит только первое существование строки, которую вы ищетеЯ использую его для выделения названий, поэтому пока проблем не было (я не повторяю заголовки).