突出显示RichTextBox中的整行

时间:2016-05-13 08:56:01

标签: c# c#-4.0 richtextbox

我想突出整行,从头到尾无论字符是否存在都没关系,行可能是空白但是应该突出显示整行。


enter image description here

1 个答案:

答案 0 :(得分:0)

如果RichTextBox关闭,则会在WordWrap中突出显示整行:

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空白区域无法突出显示 afaik。 Here是尝试所有者绘制RTB子类的示例..