我使用 C# windows 窗体,我有richtextbox,我想将一些文本涂成红色,一些用绿色和一些黑色。
怎么做?附图片。
System.Windows.Forms.RichTextBox
有一个Color
name 类型的属性,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
请注意:如果您想突出显示in 中的文本RichTextBox.Find(string str)
,则可以通过使用 which 来避免计算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;
}
对于更复杂的场景,例如根据要求更改颜色,然后访问打击链接