You can try the following extension method:
public static class RichTextBoxExt
{
public static string AddColoredLine(this RichTextBox rtb, string line, Color tcolor)
{
int pos = rtb.SelectionStart;
int len = rtb.SelectionLength;
int end = rtb.TextLength;
// Appends text to the current text of a text box.
rtb.AppendText(line);
rtb.SelectionStart = end;
rtb.SelectionLength = line.Length;
rtb.SelectionColor = tcolor;
// Restore cursor position
rtb.Select(pos, len);
return line;
}
}
It append colored text and restore the previews selection and cursor position.
Use it like: richTextBox1.AddColoredLine("some_text", Color.Red);
A similar example you can find here:
Change color of text within a WinForms RichTextBox