![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 bon ![]()
![]() |
我目標是用RichTextBox製作搜尋並Highlight的功能,網路上找得到的都是針對純文字的作法,例如: https://stackoverflow.com/questions/11851908/highlight-all-searched-words 但我的應用中,RichTextBox需要使用Rtf格式,所以內容千奇百怪,有表格、有不同字體、不同顏色文字、emoji等等。 用RichTextBox.Find()可以很好地從Rtf內容中找到目標字串,但有時在Rtf接近末端的地方會跳startindex不可以大於字串的長度,這是Find()內部呼叫String.Substring時觸發的例外。 我嘗試過用Find(word, start, end, RichTextBoxFind.None),指定明確的end index小範圍反覆測試後,會發現在固定的index報錯,而這個end index距離RichTextBox.TextLength還有幾百個字元,所以感覺不像是Find()輸入參數的問題。 如果Rtf只留下出錯位置附近的內容,卻又不會報錯。 原諒我無法提供Rtf內容。是否有人遇到類似的問題?
搜尋相關Tags的文章:
[ RichTextBox ] ,
本篇文章發表於2022-07-14 16:06 |