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;
4

1 に答える 1

2

これは、長さを取得するための非常に非効率的な方法です。

これを試してみてください-どこかで1つずれている可能性があります。今はテストできません:

var prevSpace = richTextBox.Text.LastIndexOf(' ', offset);
var length = prevSpace = -1 ? offset + 1 : offset - prevspace;
于 2012-05-22T21:38:59.677 に答える