2015-07-19 2 views
1

В настоящее время я использую следующий код, чтобы позволить пользователю «Поиск» по тексту они написали и выделить определенное слово/фразу ..Reset «Поиск» в блокноте

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

Он работает отлично, выделив слова, которые они вводят в текстовое поле желтого цвета. Однако, когда я нажимаю кнопку «Закрыть», я хочу, чтобы текст больше не выделялся желтым и возвращался к его предыдущему цвету.

Я думаю, что это действительно легко, но я просто не могу обойти его. Я всего лишь несколько классов в классе C# в школе, поэтому я apoligise, если это невероятно легко, и я глуп.

Я попытался изменить «This.txtPad.SelectionBackColor» на другой цвет, но только изменил один из многих результатов поиска. Это просто поразило меня тем, что петля может быть правильным способом?

Заранее благодарен! Это просто попытка научить меня чему-то не вне класса.

(поиск кода не мой исходный код, так что если мы должны дать кредит на здесь то, благодаря тому, кто это написал)

ответ

0
  1. Выбрать весь текст.
  2. Установите цвет выделения на цвет по умолчанию.

Или, помните о выборе, который вы сделали в списке. Затем вы можете запустить этот список и сбросить форматирование только для этих мест.

Или, прежде чем форматировать и восстановить строку, запомните строку с богатым текстом и восстановите строку.

Смежные вопросы