RichTextBox wird langsamer, je mehr drinsteht
-
Hallo,
ich verwende eine RichTextBox, um eine grosse Text-Datei zu erzeugen.
Es werden sehr viele Zeilen mit AppendText() reingeschrieben, und nach jeder 2000-ten Zeile wird ScrollToCaret() aufgerufen, damit man auf dem Bildschirm sehen kann dass das Programm noch läuft. Am Ende das Programms soll der Inhalt der RichTextBox als Text-Datei abgespeichert werden.
Das Problem ist, dass die Sache immer langsamer läuft, je mehr in der RichTextBox schon drinsteht. Es handelt sich um mehrere Millionen Zeilen mit jeweils etwa 25-30 Zeichen.
Wie kann man das Programm schneller machen?Gruss
Michael
-
Das hängt davon ab, dass herausgefunden werden muss, was die Anwendung verlangsamt. - Ist es das Scrollen zur Position ist es das abspeichern der Datei?
-
Warum gehst du überhaupt den Umweg über die RichTextBox, wenn du nur die Datei erzeugen willst? Erzeugst du denn eine RTF-Datei oder aber nur eine reine TXT-Datei? Für letzteres würde ja auch eine normale TextBox reichen bzw. mit File.AppendText (bzw. FileWriter) direkt in die Datei scheiben.
Das so eine großer Text recht lange zum Anzeigen braucht ist ja wohl verständlich. Öffne deine große Datei mal mit Notepad oder WordPad und du siehst, wie lange das schon dauert...