Hallo,
ich möchte ein Programm machen in dem HTML Code bearbeitet wird (vom User) der in einer RichTexBox befindliche Text soll jedoch farblich gestaltet sein (tags, sachen in anführungszeichen etc. sollen hervorgehoben werden).
Momentan versuche ich es mit RegEx, was eigentlich auch ganz gut, ich makiere dann den String und färbe ihn ein, das Problem ist nur das die RTbox immer zu dem makierten Text scrollt statt da zu bleiben wo der Cursor gerade ist (die RegEx überprüfung muss ja nach jedem Zeichen erfolgen da der Text sofort hervorgehoben werden soll).
Gibt es eine bessere Möglichkeit um den Text umzufärben ohne ihn zu makieren (weil dann geht ja SelectedColor)
Ist RegEx hier angebracht oder was wäre besser?
LG Karim
Hallo karim_mailt,
in [Tutorial] Einfaches Keyword-Highlighting ist das - wie ich finde - sehr elegant gelöst.
Vielleicht ist der TextEditor von ICSharpCode was für dich.
Ein paar Tipps zur Verwendung findest du hier.
Hallo karim_mailt,
in
> ist das - wie ich finde - sehr elegant gelöst.
Vielen Dank, das ist jedoch deshalb nicht das was ich suche weil 1. alles nur in einer Farbe hervorgehoben wird und 2. man die Keywords einzeln angeben muss, bei mir soll aber z.B. alles makiert werden was zw. < und > ist.
Weiss vllt jemand eine Möglichkeit wie man dafür sorgt das die richtextbox NICHT zum Cursor scrollt!?
Hallo karim_mailt,
[Tutorial] Einfaches Keyword-Highlighting beantwortet doch aber, selbst wenn es nicht exakt tut, was du willst, genau deine Fragen. Im Code von On-the-fly Regex-Tester: Regex-Lab findest du ebenfalls eine Möglichkeit zu färben ohne zu scrollen.
herbivore
Eine wirklich gute Komponente ist Scintilla: http://scintilla.org/
Davon gibt es auch einen .NET Wrapper: http://www.codeplex.com/ScintillaNET
Ich hätte da noch die Editorkomponente von DigitalRune http://www.digitalrune.com/Products/TextEditorControl/Overview/tabid/597/language/en-US/Default.aspx