RichTextBox选择同一个单词

时间:2018-04-15 17:31:39

标签: c# winforms richtextbox

我使用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);
}

那么,我该怎么办?

1 个答案:

答案 0 :(得分:2)

决定想要什么

  • 您只能选择一个字符范围。

  • 然而,你可以突出显示多个范围(通过设置例如他们的BackColor,即在循环中添加例如richTextArea.SelectionBackColor = Color.Yellow)..

示例:

enter image description here

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;
    }
}