j'ai écrit une petite routine qui fait cela:
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
Alors, vous devez créer votre texte, puis appelez changeRTF("Bob",richtextbox1,color.gold,true)
.
Le seul problème avec ce code est qu'il trouve actuellement seulement la première existence de la chaîne que vous recherchez. Je l'utilise pour surligner des titres donc ça n'a pas été un problème jusqu'à présent (je ne répète pas les titres).
Veuillez clarifier, VB6 ou VB.NET. – GSerg
Ah, excuses. J'utilise Visual Studio 2010, que je crois être .net? – Lwkd