标记richTextBox的特定内容

本文关键字:richTextBox 标记 | 更新日期: 2023-09-27 17:58:43

我希望richTextBox的特定内容在加载后标记为彩色(某些单词的"背景"发生变化)。当我点击一个按钮,例如要标记的单词car。现在我找到了这个代码,为了我的目的,我必须重新构建它。

public bool DoSearch(RichTextBox richTextBox, string searchText, bool searchNext)
       {
            TextRange searchRange;
            // Get the range to search
            if (searchNext)
                searchRange = new TextRange(richTextBox.Selection.Start.GetPositionAtOffset(1),
                                            richTextBox.Document.ContentEnd);
            else
                searchRange = new TextRange(richTextBox.Document.ContentStart, 
                                            richTextBox.Document.ContentEnd);
            // Do the search
            TextRange foundRange = FindTextInRange(searchRange, searchText);
            if (foundRange == null)
                return false;
            // Select the found range
            richTextBox.Selection.Select(foundRange.Start, foundRange.End);
            return true;
        }
        public TextRange FindTextInRange(TextRange searchRange, string searchText)
        {
            // Search the text with IndexOf
            int offset = searchRange.Text.IndexOf(searchText);
            if (offset < 0)
                return null;  // Not found
            // Try to select the text as a contiguous range
            for (TextPointer start = searchRange.Start.GetPositionAtOffset(offset); 
                             start != searchRange.End; 
                             start = start.GetPositionAtOffset(1))
            {
                TextRange result = new TextRange(start, start.GetPositionAtOffset(searchText.Length));
                if (result.Text == searchText)
                    return result;
            }
            return null;
        }

有人能帮我吗?

标记richTextBox的特定内容

请尝试此链接,它包含一个函数HighlightPhrase,可以更改Rich文本框中特定单词的颜色。遵循此函数,尝试研究如何更改背景。

如何使用C#更改富文本框中特定单词的颜色