Colorea diferentes partes de una cadena RichTextBox

Estoy tratando de colorear partes de una cadena para que se agreguen a RichTextBox. Tengo una cadena construida a partir de diferentes cadenas.

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

Así es como se vería el mensaje una vez que se construya.

[9:23 pm] Usuario: mi mensaje aquí.

Quiero que todo lo que está dentro, incluidos los corchetes [9:23], sea un color, 'usuario' sea otro color y el mensaje sea otro color. Entonces me gustaría añadir la cadena a mi RichTextBox.

¿Cómo puedo lograr esto?

Respuestas a la pregunta(8)

Su respuesta a la pregunta