2012-05-22 25 views
0

我有一个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; 

回答

2

这是一个非常低效的方式来获得的长度。

尝试这个 - 可能是由一个地方被关闭,我不能马上测试一下:

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

非常感谢。这样更有效率 – user1135357