Färben Sie verschiedene Teile einer RichTextBox-Zeichenfolge

Ich versuche, Teile einer Zeichenfolge einzufärben, um sie an eine RichTextBox anzuhängen. Ich habe eine Saite, die aus verschiedenen Saiten besteht.

string temp = "[" + DateTime.Now.ToShortTimeString() + "] " +
              userid + " " + message + Environment.NewLine;

So würde die Nachricht nach ihrer Erstellung aussehen.

[9:23 pm] User: meine Nachricht hier.

Ich möchte, dass alles in und einschließlich der Klammern [9:23] eine Farbe hat, dass der Benutzer eine andere Farbe hat und dass die Nachricht eine andere Farbe hat. Dann möchte ich die Zeichenfolge an meine RichTextBox anhängen.

Wie kann ich das erreichen?