我有一个Jar文件,它提供输出和一个写入输出的富文本框。 Jar文件提供的每个字符串都是富文本框中的新行。如果该行包含某些关键字,我想要改变它的颜色。我尝试了以下方法:
if (textR.Contains("[INFO]"))
{
//txtboxServerOutput.Text += textR + "\n";
txtboxServerOutput.SelectedText = textR;
txtboxServerOutput.SelectionColor = Color.Aqua;
}
else
{
txtboxServerOutput.Text += textR + "\n";
}
这导致混乱的输出。富文本框已着色包含“[INFO]”的一些文本,但不是全部,并且所有内容都是一行。我怎样才能解决这个问题?
答案 0 :(得分:3)
我最终为AppendText
创建了一个重载:
// Adds new overload for AppendText for rich textboxes
public static class RichTextBoxExtensions
{
public static void AppendText(this RichTextBox txtbox, string text, Color color)
{
txtbox.SelectionStart = txtbox.TextLength;
txtbox.SelectionLength = 0;
txtbox.SelectionColor = color;
txtbox.AppendText(text);
txtbox.SelectionColor = txtbox.ForeColor;
}
};
所以现在我可以这样做:
richTextBox.AppendText("some random text", Color.Blue);
答案 1 :(得分:0)
试试这个 -
if (textR.Contains("[INFO]"))
{
txtboxServerOutput.SelectionColor = Color.Aqua;
}
txtboxServerOutput.SelectedText = textR + "\n";