bestimmten Buchstaben in richtextbox immer hervorheben

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von xtts02.

    bestimmten Buchstaben in richtextbox immer hervorheben

    Ich wollte nur fragen ob jemand weiß wie man es so machen kann das das Programm einen bestimmten Buchstaben immer in einer an deren Farbe erscheinen lässt hinterher also wenn man auf z.b suchen klickt dieser Buchstabe dann in rot erscheint.

    Vielen Dank schon mal im vorraus!
    @Rinecamo: Wenn Du keine Ahnung hast, solltest Du keinen Beitrag verfassen.
    @Abwehrschild:reinklicken und Button drücken

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim index As Integer = RichTextBox1.SelectionStart
    3. RichTextBox1.SelectionLength = 1
    4. Dim txt As String = RichTextBox1.SelectedText
    5. index = 0
    6. Do
    7. index = RichTextBox1.Text.IndexOf(txt, index)
    8. If (index = -1) Then
    9. Exit Do
    10. End If
    11. RichTextBox1.SelectionStart = index
    12. RichTextBox1.SelectionLength = 1
    13. RichTextBox1.SelectionColor = Color.Red
    14. index += 1
    15. Loop
    16. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das ist ein schönes Beispiel für die Verwendung von RegEx

    VB.NET-Quellcode

    1. 'Imports System.Text.RegularExpressions
    2. ' Nicht vergessen
    3. Private Sub RichTextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles RichTextBox1.TextChanged, TextBox1.TextChanged
    4. Me.HighLightRichtTextBoxText(RichTextBox1, TextBox1.Text)
    5. End Sub
    6. Private Sub HighLightRichtTextBoxText(ctrl As RichTextBox, hightLightText As String)
    7. ' Aussteigen, falls Richtextbox nicht angegeben oder keinen Text enthält
    8. If ctrl Is Nothing OrElse ctrl.Text.Trim.Length = 0 Then Return
    9. ' Zurücksetzen
    10. With ctrl
    11. .SelectionStart = 0
    12. .SelectionLength = .TextLength
    13. .SelectionColor = Color.Black
    14. End With
    15. ' Aussteigen, falls der zu suchende Text nicht angegeben ist
    16. If String.IsNullOrEmpty(hightLightText) Then Return
    17. ' Highlight
    18. For Each m As Match In Regex.Matches(ctrl.Text, hightLightText)
    19. With ctrl
    20. .SelectionStart = m.Index
    21. .SelectionLength = m.Length
    22. .SelectionColor = Color.Red
    23. End With
    24. Next
    25. End Sub