答案 0 :(得分:2)
不,您首先必须选择该行,然后您必须设置颜色:
public void MarkSingleLine()
{
int firstCharOfLineIndex = myRichTextBox.GetFirstCharIndexOfCurrentLine();
int currentLine = richTextBox1.GetLineFromCharIndex(firstCharOfLineIndex);
this.myRichTextBox.Select(firstCharOfLineIndex, currentLine);
this.myRichTextBox.SelectionBackColor = Color.Aqua;
this.myRichTextBox.Select(0, 0);
}
答案 1 :(得分:0)
o.k。,然后可能是这个(found here):
private void richTextBox1_MouseClick(object sender, MouseEventArgs e, Color color)
{
int firstcharindex = richTextBox1.GetFirstCharIndexOfCurrentLine();
int currentline = richTextBox1.GetLineFromCharIndex(firstcharindex);
string currentlinetext = richTextBox1.Lines[currentline];
richTextBox1.SelectionBackColor = color;
richTextBox1.Select(firstcharindex, currentlinetext.Length);
}
此代码段可以解决您的问题; - )
答案 2 :(得分:0)
您可以使用以下代码:
private void richTextBox_LOG_write_text(string text, Color text_color, Color background_color)
{
try
{
if(richTextBox_LOG.InvokeRequired == true)
{
Invoke(new Delegate_void_string_colortext_colorbackground(richTextBox_LOG_write_text), new object[] { text, text_color, background_color });
}
int text_size = richTextBox_LOG.Text.Length;
richTextBox_LOG.AppendText(text);
richTextBox_LOG.Select(text_size, text.Length);
if(text_color == null)
{
text_color = Color.Black;
}
richTextBox_LOG.SelectionColor = text_color;
if(background_color != null)
{
richTextBox_LOG.SelectionBackColor = background_color;
}
}
catch { }
}