Suchfunktion RichTextBox WPF C#?
Hallo zusammen,
ich bin gerade dabei ein Programm zu schreiben das XML Dateien ausliest. Jedenfalls würde ich gern eine Suchfunktion einbauen, das wenn man erneut auf ein Button klickt, der Cursor automatisch auf das nächste gefundene Wort springt.
Ich habe bereits eine Suchfunktion, hierbei wird aber lediglich das gesuchte Wort markiert.
Ich habe mal mein Skript hier hochgeladen:
Danke schon mal im Voraus. ^^
2 Antworten
Ich habe mal einen Blick in deinen Source geworfen.
Die Sache mit dem Weiterschalten der Suchergebnisse via F3 (oder so) könntest du implementieren, indem du noch einen Index für die Matches einführst. Mit
int count_MatchFound = Regex.Matches(textBoxText, regex.ToString()).Count;
bekommst du ja heraus, wieviele Matches du hast. Und bisher parst du einfach den Suchtext gegen die RichText-Zeilen, wenn ich das auf die Schnelle so richtig sehe. Damit hältst du aber implizit auch beim ersten Match an.
Packe das ganze Matching einfach in eine Schleife und halte dir einen Index vor, bei dem du anhältst. Also beim ersten Mal Suchen hältst du bei Index = 1 an. Druck auf F3 -> Index++; Und dann wieder die Matchingschleife durchlaufen, aber dann eben erst beim zweiten Match anhalten.
Wenn du das Maximum, das du oben ja schon ermittelt hat, überschreitest, fängst du wieder bei 1 an. Oder 0-basiert - wie es dir halt besser gefällt. ;)
Klingt doch schon mal gut. Werde ich jetzt mal ausprobieren. Danke ^^
Wie wäre es damit:
Gesamten Text mit RegEx durchsuchen und ALLE Treffer speichern.