Поиск слова в расширенном элементе управления редактированием devexpress

#c# #winforms #devexpress-windows-ui

#c# #winforms #devexpress-windows-ui

Вопрос:

Я хочу выполнить поиск слова в расширенном элементе управления редактированием. Я напишу слово в текстовом поле, а затем нажму на кнопку с именем search button, и тогда искомое слово будет выделено в расширенном элементе управления редактированием.

Как я могу решить эту проблему?

В расширенном текстовом поле мы используем RichTextBox.TextLength , но расширенное управление редактированием это не поддерживает.

 private void button2_Click(object sender, EventArgs e)  //Search button
{
    int index = 0;
    while(index <= richEditControl1.Text.LastIndexOf(textBox1.Text))
    {
        richEditControl1.Find(textBox1.Text, index, richEditControl1.TextLength, RichTextBoxFinds.None);
        richEditControl1.SelectionBackColor = Color.IndianRed;
        index = richEditControl1.Text.IndexOf(textBox1.Text, index)   1;
    }
} 
  

Комментарии:

1. Вы проверили нечеткий поиск? Результат аналогичен вашему запросу. Если у вас установлено демонстрационное приложение devexpress, есть несколько демонстрационных версий.

Ответ №1:

Попробуйте использовать метод StartSearch. Что-то вроде этого.

 private void SearchRTF(string mytext) {
  var result = myRichEditControl.Document.StartSearch(mytext);
  if (result.FindNext()) {
    var section = myRichEditControl.Document.BeginUpdateCharacters(result.CurrentResult);
    section.ForeColor = System.Drawing.Color.White;
    section.BackColor = System.Drawing.Color.Blue;
    myRichEditControl.Document.EndUpdateCharacters(section);
  }
}