在记事本中重置 "Search"

Reset "Search" in Notepad

我目前正在使用以下代码允许用户 "Search" 通过他们编写的文本并突出显示特定的 word/phrase..

int len = this.txtPad.TextLength;
            int index = 0;
            int lastIndex = this.txtPad.Text.LastIndexOf(this.textBox1.Text);

        while (index < lastIndex)
        {
            this.txtPad.Find(this.textBox1.Text, index, len, RichTextBoxFinds.None);
            this.txtPad.SelectionBackColor = Color.Yellow;
            index = this.txtPad.Text.IndexOf(this.textBox1.Text, index) + 1;
        }

通过将他们在文本框中输入的单词突出显示为黄色,效果很好。但是,当我单击 "Close" 按钮时,我希望文本不再以黄色突出显示并返回到其之前的颜色。

我认为这真的很容易,但我就是无法理解它。我在学校对 C# class 只有少数 classes,所以如果这非常简单并且我很愚蠢,我深表歉意。

我尝试将 "This.txtPad.SelectionBackColor" 更改为另一种颜色,但它只更改了众多搜索结果中的一个。我突然想到 loop 可能是解决这个问题的正确方法?

提前致谢!这只是为了尝试自学 class.

之外的一些东西

(搜索代码不是我的原始代码所以如果我们应该在这里给予信任那么感谢写它的人)

  1. Select 所有文本。
  2. 将选择颜色设置为默认颜色。

或者,记住您在列表中所做的选择。然后您可以稍后 运行 浏览该列表并为这些地方重置格式。

或者,在格式化之前记住富文本字符串,稍后再恢复该字符串。