标记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;
}
有人能帮我吗?
请尝试此链接,它包含一个函数HighlightPhrase,可以更改Rich文本框中特定单词的颜色。遵循此函数,尝试研究如何更改背景。
如何使用C#更改富文本框中特定单词的颜色