Я использую формы окон С#, и у меня есть 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;
}
для более сложного сценария, такого как изменение цвета, основанного на требовании, затем нажмите ударную ссылку