我有一个RichTextBox(我需要找到所有单词对应TextBox的文本),TextBox(用于键入要查找的单词)和一个Button,当我点击Button时,我想要在RichTextBox中,与TextBox中写入的单词对应的所有单词都用颜色突出显示(例如黄色)。我知道如何找到第一个出现的单词,但我不知道如何找到所有出现的单词。
仅突出显示单词第一次出现的代码:
'CodeCS is my RichTextBox
CodeCS.SelectionBackColor = Color.White
CodeCS.Find(ToolStripTextBox1.Text, RichTextBoxFinds.MatchCase)
CodeCS.SelectionBackColor = Color.Yellow
答案 0 :(得分:1)
这是对搜索文本的简单循环 (rtb是要搜索文本的RichTextBox)
Sub HighlightWord(searchText As String)
Dim len = searchText.Length
Dim pos = rtb.Find(searchText, 0, RichTextBoxFinds.NoHighlight)
While (pos >= 0)
rtb.Select(pos, len)
rtb.SelectionBackColor = Color.Yellow
if pos + len >= rtb.Text.Length Then
Exit While
End If
pos = rtb.Find(searchText, pos + len, RichTextBoxFinds.NoHighlight)
End While
End Sub