【问题标题】:How to highlight a whole word, given its ending index给定结尾索引,如何突出显示整个单词
【发布时间】:2012-05-23 05:38:59
【问题描述】:

我有一个 RichTextBox,并且想突出显示整个单词,只要给出它的结尾索引。是否可以从结束索引突出显示,回到第一次出现的空格?

这是我目前尝试过的,不知道有没有其他有效的方法:

int length = richTextBox.Text.Reverse().Skip(richTextBox.Text.Length - offset)
      .TakeWhile(x => x != ' ')
      .Count();
richTextBox.Select(offset - length, length + 1);
richTextBox.SelectionBackColor = Color.Yellow;

【问题讨论】:

    标签: c# winforms richtextbox syntax-highlighting


    【解决方案1】:

    这是获取长度的一种非常低效的方法。

    试试这个 - 可能在某处被关闭,我现在无法测试:

    var prevSpace = richTextBox.Text.LastIndexOf(' ', offset);
    var length = prevSpace = -1 ? offset + 1 : offset - prevspace;
    

    【讨论】:

    • 非常感谢。这样效率更高
    猜你喜欢
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2012-05-21
    • 1970-01-01
    • 2017-11-24
    相关资源
    最近更新 更多