我在表单中有以下代码,可以向RichTextBox
添加文字。
public void SetText(string text)
{
richTextBox2.Text = text;
SetRichTextBoxColors(true);
}
private void SetRichTextBoxColors(bool yellow)
{
if (yellow)
{
// color text in red
}
else
{
// color text in yellow
}
}
每个按钮点击SetText
获取新文字并将其添加到richTextbox2
。
我希望第一次添加的文字是黄色的,然后下一次是红色再黄色再红色...
我做了一个新表格:
private void button1_Click(object sender, EventArgs e)
{
_form1.SetText(textBox1.Text);
}
我应该在SetRichTextBoxColors
方法中使用什么才能使其正常工作?
答案 0 :(得分:2)
您可以在表单级别使用标志来确定是否应使用黄色。然后在方法中,检查标志,决定使用哪种颜色,然后添加彩色文本并反转标志:
bool yellow = true;
public void AddText(string text)
{
richTextBox1.SelectionStart = richTextBox1.Text.Length;
richTextBox1.SelectionLength = 0; ;
richTextBox1.SelectionColor = yellow ? Color.Yellow : Color.Red;
richTextBox1.SelectedText = text;
yellow = !yellow;
}
注意强>
Text
属性赋值。AppendText
方法。ForeColor
属性指定颜色。RichTextBox
的任何索引处插入彩色文字,您可以将SelectionStart
设置为指定的索引,将SelectionLength
设置为0
,将SelectionColor
设置为指定的颜色然后将给定的文本分配给SelectionText
属性。