Nur bestimmten Satz rot anzeigen(RichTextBox)

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Nur bestimmten Satz rot anzeigen(RichTextBox)

    Halloo,
    ich versuche grade einen einzelnen Text rot anzuzeigen,der Restliche soll wieder Schwarz angezeigt werden..


    Also ich versuch es mit Selection,dass ich jenes makiere,doch alles was ich dannach schreibe ist auch rot..

    Also so zB:

    Hallo (rot)

    Schreibt man weiter soll es wieder schware Schrift sein aber Hallo immernoch rot...

    Gibt es eine Möglichkeit?


    Mfg.eniking1998

    enIking1998 schrieb:

    Also ich versuch es mit Selection,dass ich jenes makiere,doch alles was ich dannach schreibe ist auch rot..
    Das Prob scheint mir nicht eindeutig lösbar.
    Richtextbox ist halt so drauf, dass wenn du den Cursor genau aufs Ende eines colorierten Bereiches setzt, dass die folgenden Eingaben in diesen Bereich hineingenommen werden. Das ist ja auch sinnvoll, denn wenn du ein rotes Wort hast, und möchtest es um einige Buchstaben verlängern, dann sollen die ja auch rot werden.

    Eine Lösung wäre, nach einer Colorierung zu gucken, ob dahinter mindestens ein uncoloriertes Leerzeichen liegt. Falls nicht (wg. Dokument-Ende) halt eines hinmachen, aber ein uncoloriertes.
    Nun kann der User hinter dem Wort uncoloriert weiterschreiben, wenner den Cursor hinter das Leerzeichen setzt, und wenner das Wort (coloriert) verlängern will, dann musserhalt genau ans WortEnde.
    Das Colorieren einer RichTextBox funktioniert so:

    VB.NET-Quellcode

    1. RichTextBox1.SelectionStart = 13
    2. RichTextBox1.SelectionLength = 12
    3. RichTextBox1.SelectionColor = Color.Red
    Wenn Du den Text mit Maus und Cursor markiert hast, genügt die letzte Zeile.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!