【问题标题】:How to change the format of specified lines in a RichTextBox如何更改 RichTextBox 中指定行的格式
【发布时间】:2010-11-06 03:20:50
【问题描述】:

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

如何处理行而不是字符? RichTextBox 甚至是这类事情的最佳控件,还是有另一种选择?我已经尝试过 Infragistics UltraFormattedTextEditor,但显示文本的速度至少要慢几个数量级,所以对我的较长文件没有好处。

谢谢!

【问题讨论】:

    标签: c# winforms controls string


    【解决方案1】:

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

    richTextBox.Lines

    您可以从那里遍历这些行并使用您想要更改的行。

    编辑:同意,我错过了重点部分(+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++;
    }
    

    【讨论】:

    • 这让我明白了;但是,例如,我如何告诉 RichtTextBox 突出显示我想要的行?我只能按字符号设置 SelectedText,而不是按行...?
    【解决方案2】:

    好的,我将记录我找到的解决方案:使用 richTextBox.Lines 获取 Luis 所说的行,然后

    richTextBox.GetFirstCharIndexFromLine(int line)
    richTextBox.Select(int start, int length)
    

    选择相关行,然后

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

    等等。等来格式化行。

    【讨论】:

      猜你喜欢
      • 2015-05-17
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-27
      • 2011-03-07
      • 2020-10-28
      相关资源
      最近更新 更多