Hallo,
ich weiß, dass es zu diesem Thema schon zich Threads gibt aber die helfen mir nicht wirklich weiter.
Ich habe folgendes Problem: Ich möchte ein Dokument Highlighten welches bearbeitet wird. Wenn man jedesmal wenn sich der Text ändert den kompletten Text nach allen wörtern(sind knapp 3000) durchsucht, die gehighlitet werden sollen, ist die Performance des Programms nicht grade gut. Deswegen soll mein Programm auch immer nur die Zeile highlighten, in der sich auch der Cursor befindet. Ich habe dafür diesen Code benutzt(Die Wörter die gehighlitet werden sollen, sind in der phpRTB) :
Highlighten funktioniert zwar auch, nur es wird immer noch der komplette Texte dursucht und die Performance leidet extrem(man kann kaum noch schreiben weil es so ruckelt).
Weiß jemand was ich falsch mache ? Danke für eure Hilfe
Grüsse,
viperkill
ich weiß, dass es zu diesem Thema schon zich Threads gibt aber die helfen mir nicht wirklich weiter.
Ich habe folgendes Problem: Ich möchte ein Dokument Highlighten welches bearbeitet wird. Wenn man jedesmal wenn sich der Text ändert den kompletten Text nach allen wörtern(sind knapp 3000) durchsucht, die gehighlitet werden sollen, ist die Performance des Programms nicht grade gut. Deswegen soll mein Programm auch immer nur die Zeile highlighten, in der sich auch der Cursor befindet. Ich habe dafür diesen Code benutzt(Die Wörter die gehighlitet werden sollen, sind in der phpRTB) :
VB.NET-Quellcode
- For Each line In phpRTB.Lines
- If Not line = "" Then
- Dim Reg_b As System.Text.RegularExpressions.MatchCollection
- Dim Match_b As System.Text.RegularExpressions.Match
- Dim pattern_b As String = "\s" & line.ToString & "\s"
- Dim currentline_b As Integer = Box.GetFirstCharIndexOfCurrentLine
- currentline_b += Box.Lines(Box.GetLineFromCharIndex(currentline_b)).Length
- Reg_b = Regex.Matches(LCase(Box.Text), LCase(pattern_b))
- For Each Match_b In Reg_b
- Box.Select(Match_b.Index, Match_b.Length)
- Box.SelectionColor = Color.Blue
- Box.Select(currentline_b, 0)
- Box.SelectionColor = Color.Black
- Next
- End If
- Next
Highlighten funktioniert zwar auch, nur es wird immer noch der komplette Texte dursucht und die Performance leidet extrem(man kann kaum noch schreiben weil es so ruckelt).
Weiß jemand was ich falsch mache ? Danke für eure Hilfe
Grüsse,
viperkill