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