我使用C#(Windows窗体)创建了类似app的记事本,我想添加查找功能,它将突出显示搜索词的每个外观。但是我不知道如何添加到现有选择中,所以我最终只突出显示搜索词的最后一次出现。这是我的代码:
Regex regex = new Regex(args.searchTerm);
MatchCollection matches = regex.Matches(richTextArea.Text);
foreach (Match match in matches)
{
richTextArea.Select(match.Index, match.Length);
}
那么,我该怎么办?
答案 0 :(得分:2)
决定想要什么:
您只能选择一个字符范围。
然而,你可以突出显示多个范围(通过设置例如他们的BackColor,即在循环中添加例如richTextArea.SelectionBackColor = Color.Yellow
)..
示例:
private void searchTextBox_TextChanged(object sender, EventArgs e)
{
Regex regex = new Regex(searchTextBox.Text);
MatchCollection matches = regex.Matches(richTextArea.Text);
richTextArea.SelectAll();
richTextArea.SelectionBackColor = richTextArea.BackColor;
foreach (Match match in matches)
{
richTextArea.Select(match.Index, match.Length);
richTextArea.SelectionBackColor = Color.Yellow;
}
}