C# 如何更改RichTextBox中指定行的格式

C# 如何更改RichTextBox中指定行的格式,c#,winforms,controls,string,C#,Winforms,Controls,String,我有一个winforms RichTextBox,其中包含大量文本行(例如2MB文本文件),并希望以编程方式更改指定行的格式,例如突出显示它们 我如何处理行而不是字符?RichTextBox是这类东西的最佳控件,还是有其他选择?我尝试过Infragistics UltraFormattedTextEditor,但它显示文本的速度至少慢了几个数量级,因此对我的较长文件没有好处 谢谢 要访问文本框控件上的行,请使用lines属性 richTextBox。行 从那里,您可以遍历这些行,并处理您想要更改

我有一个winforms RichTextBox,其中包含大量文本行(例如2MB文本文件),并希望以编程方式更改指定行的格式,例如突出显示它们

我如何处理行而不是字符?RichTextBox是这类东西的最佳控件,还是有其他选择?我尝试过Infragistics UltraFormattedTextEditor,但它显示文本的速度至少慢了几个数量级,因此对我的较长文件没有好处


谢谢

要访问文本框控件上的行,请使用lines属性

richTextBox。行

从那里,您可以遍历这些行,并处理您想要更改的行

编辑:同意,我错过了重点部分(+1回答你自己的问题)。包括工作代码:

int lineCounter = 0;
foreach(string line in richTextBox1.Lines)
{
   //add conditional statement if not selecting all the lines
   richTextBox.Select(richTextBox.GetFirstCharIndexFromLine(lineCounter), line.Length);
   richTextBox.SelectionColor = Color.Red;
   lineCounter++;
}

好的,我将记录我找到的解决方案:使用
richTextBox.Lines
获得路易斯说的行,然后

richTextBox.GetFirstCharIndexFromLine(int line)
richTextBox.Select(int start, int length)
选择相关行,然后

richTextBox.SelectionColor...
richTextBox.SelectionBackground...

等来格式化行

这让我明白了台词;但是,例如,如何让RichtTextBox突出显示我想要的行呢?我只能按字符数设置SelectedText,不能按行设置。。。?