How to use multi color in richtextbox [duplicate]
System.Windows.Forms.RichTextBox
has got a property of type Color
of the name SelectionColor
which gets or sets the text color of the current selection or insertion point. You can use this property to mark specific fields in your RichTextBox
with the colors you specify.
Example
RichTextBox _RichTextBox = new RichTextBox(); //Initialize a new RichTextBox of name _RichTextBox
_RichTextBox.Select(0, 8); //Select text within 0 and 8
_RichTextBox.SelectionColor = Color.Red; //Set the selected text color to Red
_RichTextBox.Select(8, 16); //Select text within 8 and 16
_RichTextBox.SelectionColor = Color.Green; //Set the selected text color to Green
_RichTextBox.Select(0,0); //Select text within 0 and 0
Notice that: You may avoid calculations by using RichTextBox.Find(string str)
which can be added through Object Browser
if you would like to highlight the text within the Lines
in RichTextBox
giving it's value
Example
RichTextBox _RichTextBox = new RichTextBox(); //Initialize a new RichTextBox of name _RichTextBox
_RichTextBox.Find("Account 12345, deposit 100$, balance 200$"); //Find the text provided
_RichTextBox.SelectionColor = Color.Green; //Set the selected text color to Green
Thanks,
I hope you find this helpful :)
I found this extension method that gives you the ability to change the color of the string as well as inserting a newline value:
public static void AppendText(this RichTextBox box, string text, Color color, bool AddNewLine = false)
{
if (AddNewLine)
{
text += Environment.NewLine;
}
box.SelectionStart = box.TextLength;
box.SelectionLength = 0;
box.SelectionColor = color;
box.AppendText(text);
box.SelectionColor = box.ForeColor;
}