Подтвердить что ты не робот

Как использовать многоцветный цвет в richtextbox

Я использую формы окон С#, и у меня есть richtextbox, и я хочу покрасить некоторый текст красным, некоторые - зеленым, а некоторые - черным.

Как это сделать? Изображение прилагается.

enter image description here

4b9b3361

Ответ 1

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

Спасибо,
Надеюсь, вы сочтете это полезным:)

Ответ 2

Я нашел этот метод расширения, который дает вам возможность изменять цвет строки, а также вставлять значение новой строки:

    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;
    }

Ответ 3

вы можете использовать объект Run для изменения цвета во время выполнения

private Run GetForegroundColor(string strInformation, Brush color)
        {
            Run noramlRun = new Run(strInformation);
            noramlRun.Foreground = color;
            return noramlRun;
        }

для более сложного сценария, такого как изменение цвета, основанного на требовании, затем нажмите ударную ссылку

https://sites.google.com/site/greateindiaclub/mobil-apps/windows8/customwpfrichtextboxwithcolorchangeandhighlightfunctionality