突出显示RichTextBox1中的一行,行号=变量
我有一个变量,让我们说它= 5,然后我想在我的RichTextBox1中将第5行突出显示为“蓝色”。 这有可能吗?
或者我应该使用类似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
为true,它仍然会突出显示该行,但只有它可见。 它在下一行的延续不会改变。
另请注意,只能突出显示Text
。 尾随空白空间无法突出显示 。 以下是尝试所有者绘制RTB子类的示例。