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