- Language = C#
- .NET-Version = 3,5
Wenn mein Code führt Syntax Hervorhebung der Text erscheint, für den Benutzer automatisch Scrollen werden. Dies wird zu einem schwerwiegenden Problem, wenn in dem Rich-Text-Feld mehrere hundert Textzeilen vorhanden sind. Wie kann ich die Farbe des Texts programmatisch ändern, ohne dass der Benutzer etwas anderes als die Farbänderung sieht?Wie verhindern Sie, dass eine Rich-Text-Box bei der Syntax-Hervorhebung automatisch scrollt?
Danke für jede Hilfe.
Können Sie uns erklären, wie Sie Syntax-Hervorhebung durchführen? Ich möchte dieses Feature in einem Produkt implementieren, an dem ich selbst arbeite. Prost. – JSmyth
Mein Algorithmus enthält derzeit sechs Schritte. 1) Merken Sie sich die aktuelle Position des Caret. 2) Deaktivieren Sie die Updates für das Textfeld. 3) Suchen Sie nach Text, der hervorgehoben werden muss. 4) Markieren Sie den Text mit der entsprechenden Farbe. 5) Wiederholen Sie die Schritte 3 und 4, bis der gesamte Text markiert ist. 6) Stellen Sie die Position des Carets auf die korrekte Position ein. Dieser Algorithmus benötigt etwas Arbeit. Bei großen Textmengen ist es langsam. Wenn Sie jedoch nur den Text hervorheben, der dem Benutzer angezeigt wird, sollten Sie das Leistungsproblem beheben. – Mackenzie