Hallo! Ich bin gerade dabei eine Syntax Hightlighting Funktion in mein Programm einzubauen. Klappt auch schon ganz gut, bisauf die Zahlen. Ich benutze eine RegEx Funktion:
Habe die Funktion irgendwo im Forum gefunden, die musste allerding überarbeitet werden, weil sie dann immer alles gefärbt hatte, auch wenn man das Wort gelöscht hatte. Jedenfalls Funktioniert es jetzt, nur halt nicht mit Zahlen. Theoretisch funktioniert es schon, aber dann müsste ich immer die Funktion aufrufen und jede Zahl einfügen. Könnte länger dauern, da es ja unendlich gibt
Mein Versuch war nun folgender:
Hier wird dann allerdings nur die 0 gefärbt, weil ja x keinen Wert hat. Komich ist aber, dass, wenn ich jetzt
Jedes mal die MsgBox angezeigt wird. Ich bin mir jetzt nicht sicher, aber ich meine das könnte man auch mit RegEx machen, ich bin mir nur leider nicht sicher wie
Weiß da jemand eine Lösung?
VB.NET-Quellcode
- Private Sub ColorWord(ByVal rtb As RichTextBox, ByVal word As String, ByVal color As Color)
- Dim match As MatchCollection = Regex.Matches(rtb.Text.ToString(), word.ToString())
- For Each m As Match In match
- rtb.Select(m.Index, m.Length)
- rtb.SelectionColor = color
- rtb.Select(rtb.Text.Length, 0)
- rtb.SelectionColor = Drawing.Color.Black
- rtb.SelectedRtf = ""
- Next
- rtb.SelectionColor = Drawing.Color.Black
- rtb.SelectedRtf = ""
Habe die Funktion irgendwo im Forum gefunden, die musste allerding überarbeitet werden, weil sie dann immer alles gefärbt hatte, auch wenn man das Wort gelöscht hatte. Jedenfalls Funktioniert es jetzt, nur halt nicht mit Zahlen. Theoretisch funktioniert es schon, aber dann müsste ich immer die Funktion aufrufen und jede Zahl einfügen. Könnte länger dauern, da es ja unendlich gibt
Mein Versuch war nun folgender:
Hier wird dann allerdings nur die 0 gefärbt, weil ja x keinen Wert hat. Komich ist aber, dass, wenn ich jetzt
Jedes mal die MsgBox angezeigt wird. Ich bin mir jetzt nicht sicher, aber ich meine das könnte man auch mit RegEx machen, ich bin mir nur leider nicht sicher wie
Weiß da jemand eine Lösung?