【发布时间】:2011-03-01 13:29:36
【问题描述】:
【问题讨论】:
-
+1 为伟大的插图:]
【问题讨论】:
不,你首先要选择线,然后你必须设置颜色:
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);
}
【讨论】:
好的,那么也许是这个 (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);
}
这个 sn-p 应该可以解决你的问题 ;-)
【讨论】:
你可以使用这段代码:
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 { }
}
【讨论】: