RichTextBox: Bestimmte Zeichenketten in einer bestimmten Farbe färben

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Gonger96.

    RichTextBox: Bestimmte Zeichenketten in einer bestimmten Farbe färben

    Hallo,
    ich schreibe zur Zeit an einem Chatprogramm (spielt hier eig. keine Rolle wg. Forenrubrik).
    Jetzt erscheint vor der Nachricht immer der Name, also z.B. so ("Bar" bin "ich"):
    <Foo> Hi
    <Bar> Hi

    Nun möchte ich aber, das der Name bei Nachrichten, die empfangen werden, immer Rot und Fett sind und die Nachricht dann nur Rot (nicht Fett), und alle von mir (vom Rechner gesendet) Namen: Blau und Fett, Nachricht: nur Blau. Also soll es dann z.B. so aussehen ("Bar" bin "ich"):
    <Foo> Hi
    <Bar> Hi

    Die Nachrichten werden mit einem Timer aktualisiert. Vielleicht gleich hier mit reinnehmen?

    Also habt ihr da einen Codetipp?

    PS: Ich habe schon einen Post gefunden, mit diesem Code: (ABER steht unten)

    Quellcode

    1. Shared Sub ChColor(ByVal rtb As RichTextBox, ByVal word As String, ByVal color As Color) Dim matchc As MatchCollection = Regex.Matches(rtb.Text.ToLower(), word.ToLower()) For Each m As Match In matchc rtb.Select(m.Index, m.Length) rtb.SelectionColor = color rtb.Select(rtb.Text.Length, 0) rtb.SelectionColor = Drawing.Color.Black Next End Sub


    Nur wenn ich Jetzt "ChColor(RichTextBox1, "[System]", Drawing.Color.Yellow)" nehme, werden alle "[" "S" "y" "s" "t" "e" "m" "]" -s gelb gemacht. Ich möchte aber, dass NUR [System] gelb wird.