Hey,
ich versuche gerade eine Art Chat in Vb .NEt 2005 über Sockets zu realisieren.
Ich schreibe dazu den geschriebenen Text und den empfangenen in eine Richtextbox.
Nun möchte ich das der Text unterschiedliche Farbe bekommt. Wie etwa in ICQ oder ähnlichen Programmen.
Bis jetzt habe ich das so gelöst:
Ich überprüfe also ob im auszugebenden Text der Nickname vorkommt. Wernn ja wird eine Farbe gesetzt. Kommt nun aber ein Text an der nicht den Nickname enthält setzt er die Farbe um. Allerdings nicht nur vom ankommenden Text sondern von der kompletten Richtextbox.
Wie kann ich das verhindern? Ich hoffe ich drücke mich einigermassen gut aus.
grüße
mantus666
ich versuche gerade eine Art Chat in Vb .NEt 2005 über Sockets zu realisieren.
Ich schreibe dazu den geschriebenen Text und den empfangenen in eine Richtextbox.
Nun möchte ich das der Text unterschiedliche Farbe bekommt. Wie etwa in ICQ oder ähnlichen Programmen.
Bis jetzt habe ich das so gelöst:
Code:
If InStr(strMsg, TxtNick.Text.Trim, CompareMethod.Text) Then
lngMsg = strMsg.Length
lngSelStart = RichTextBox.Text.Length 'Cursorposition merken
RichTextBox.SelectionLength = 0 'Nichts markieren
RichTextBox.SelectionStart = lngSelStart 'Cursor Position ans ende des Textes
RichTextBox.SelectedText = strMsg 'Den Text einfügen
RichTextBox.SelectionStart = lngSelStart 'Cursorposition zurückstellen
RichTextBox.SelectionLength = lngMsg
RichTextBox.SelectionColor = Color.Red 'Farbe setzen
RichTextBox.SelectionLength = 0 'Nichts markieren
RichTextBox.SelectionStart = lngSelStart + lngMsg 'Cursor ans Ende
Else
RichTextBox.Text = RichTextBox.Text & strMsg & vbCrLf
End If
Ich überprüfe also ob im auszugebenden Text der Nickname vorkommt. Wernn ja wird eine Farbe gesetzt. Kommt nun aber ein Text an der nicht den Nickname enthält setzt er die Farbe um. Allerdings nicht nur vom ankommenden Text sondern von der kompletten Richtextbox.
Wie kann ich das verhindern? Ich hoffe ich drücke mich einigermassen gut aus.

grüße
mantus666