Я использую формы окон С#, и у меня есть richtextbox, и я хочу покрасить некоторый текст красным, некоторые - зеленым, а некоторые - черным.
Как это сделать? Изображение прилагается.

Я использую формы окон С#, и у меня есть richtextbox, и я хочу покрасить некоторый текст красным, некоторые - зеленым, а некоторые - черным.
Как это сделать? Изображение прилагается.

System.Windows.Forms.RichTextBox имеет свойство типа Color имени SelectionColor, которое получает или задает цвет текста текущего выбора или точки вставки. Вы можете использовать это свойство, чтобы отметить определенные поля в RichTextBox с указанными вами цветами.
Пример
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
Обратите внимание, что. Вы можете избежать вычислений, используя RichTextBox.Find(string str), который можно добавить через Object Browser, если вы хотите выделить текст в Lines в RichTextBox, указав его значение
Пример
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
Спасибо,
Надеюсь, вы сочтете это полезным:)
Я нашел этот метод расширения, который дает вам возможность изменять цвет строки, а также вставлять значение новой строки:
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;
}
вы можете использовать объект Run для изменения цвета во время выполнения
private Run GetForegroundColor(string strInformation, Brush color)
{
Run noramlRun = new Run(strInformation);
noramlRun.Foreground = color;
return noramlRun;
}
для более сложного сценария, такого как изменение цвета, основанного на требовании, затем нажмите ударную ссылку