突出显示 RichTextBox1 中的一行,行号 = 一个变量
Highlighting a line in a RichTextBox1, line number = a variable
我有一个变量,假设它 = 5,然后我希望在我的 RichTextBox1 中突出显示行号 5 "blue"。这可能吗?
或者我应该使用类似 ListBox、DataGridView 等的东西。
如果 WordWrap
关闭,这将突出显示 RichTextBox
中给定行中的文本:
void highLightALine(RichTextBox rtb, int line, Color hiLight)
{
int i1 = rtb.GetFirstCharIndexFromLine(line);
int i2 = rtb.GetFirstCharIndexFromLine(line + 1);
if (i2 < 0) i2 = rtb.Text.Length;
rtb.SelectionStart = i1;
rtb.SelectionLength = i2 - i1;
rtb.SelectionBackColor = hiLight;
}
请注意,如果 WordWrap
为真,它仍会突出显示该行,但仅限于它可见的范围。它在下一行的延续将不会改变。
另请注意,只有 Text
可以突出显示。 尾随空 space 无法突出显示 afaik。 Here 是尝试所有者绘制 RTB 子类的示例..
我有一个变量,假设它 = 5,然后我希望在我的 RichTextBox1 中突出显示行号 5 "blue"。这可能吗?
或者我应该使用类似 ListBox、DataGridView 等的东西。
如果 WordWrap
关闭,这将突出显示 RichTextBox
中给定行中的文本:
void highLightALine(RichTextBox rtb, int line, Color hiLight)
{
int i1 = rtb.GetFirstCharIndexFromLine(line);
int i2 = rtb.GetFirstCharIndexFromLine(line + 1);
if (i2 < 0) i2 = rtb.Text.Length;
rtb.SelectionStart = i1;
rtb.SelectionLength = i2 - i1;
rtb.SelectionBackColor = hiLight;
}
请注意,如果 WordWrap
为真,它仍会突出显示该行,但仅限于它可见的范围。它在下一行的延续将不会改变。
另请注意,只有 Text
可以突出显示。 尾随空 space 无法突出显示 afaik。 Here 是尝试所有者绘制 RTB 子类的示例..