Text rot färben

  • VB.NET

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

    Text rot färben

    Hey,

    Ich hab in meiner Richtextbox diesen Text:

    Quellcode

    1. User1: Das ist ein Test.


    Nun soll der String in der Richtextbox so ausgegeben werden:

    User1: Das ist ein Test.


    Also alles bis zum ersten Doppelpunkt in rot.
    Wie geht das? ?(
    C# Developer
    Learning C++
    Das geht nur mit einer RichTextBox:
    Start der Selektion setzen, dann Länge der Selektion setzen, die Selektion formatieren.
    Fertig.

    Dies unterstützt auch mehrere Eigenschaften. Also fett, rot usw.

    .NET stellt viel dafür bereit.

    [VB.NET] Nur bestimmte Wörter einer Richtextbox Farbig schreiben?

    Code aus dem Thread:

    VB.NET-Quellcode

    1. Private Sub Mark(ByVal rtb As RichTextBox, ByVal word As String, ByVal color As Color)
    2. Dim matchc As MatchCollection = Regex.Matches(rtb.Text.ToLower(), word.ToLower())
    3. For Each m As Match In matchc
    4. rtb.Select(m.Index, m.Length)
    5. rtb.SelectionColor = color
    6. rtb.Select(rtb.Text.Length, 0)
    7. rtb.SelectionColor = Drawing.Color.Black
    8. Next


    Also mit RegEx.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Taucht das immer nur am Textanfang auf oder auch einmal zwischendrin? Wenn es nur am Anfang ist dann kannst du es so machen:
    Das erste : in der Zeile suchen und die Länge des Textes bis dort hin speichern -> Selecetioncolor setzen -> dann Selectionstart und Selectionlength benutzen

    Nachteil der Methode ist allerdings dass es bei längeren Texten extrem ruckelt wenn du die Prozedur jedesmal im Text-changed Event aufrust :(. Eine möglicherweise schnellere Methode (hab noch keine Stopwatch Tests gemacht) wäre Regex.

    VB.NET-Quellcode

    1. Dim HighlightRed() As String = {"User1","User2"}
    2. Private Sub HighlightKeyWords(Byval rtbHighlight as Richtextbox)
    3. For Each Highlight As String In HighlightRed
    4. Dim matches As MatchCollection = Regex.Matches(rtbHighlight.Text.ToLower, Highlight.ToLower)
    5. For Each Match As Match In matches
    6. rtbHighlight.Select(Match.Index, Match.Length)
    7. rtbHighlight.SelectionColor = Color.Red
    8. Next
    9. Next
    10. End Sub

    8-) faxe1008 8-)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „faxe1008“ ()

    Möglicherweise ist auch das interessant für Dich.

    codeproject.com/Articles/16187…x-for-syntax-highlighting
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o