Не уверен насчет расширенного поиска, но что касается поиска, вы можете использовать что-то вроде этого
int selStart = ControltoSearch.SelectionStart;
int selLength = ControltoSearch.SelectionLength;
int newLength = SearchFor.Length;
int newStart = searchIn.IndexOf(SearchFor, selStart + selLength, compareType);
ControltoSearch.SelectionStart = newStart >= 0 ? newStart : 0;
ControltoSearch.SelectionLength = newLength;
ControltoSearch.ScrollToCaret();
ControltoSearch.Focus();
return newStart;
Для сопоставленного регистра вы можете использовать String.ToLowerInvariant()
как для поиска в тексте, так и для поиска текста, в противном случае String.Contains()
чувствителен к регистру
searchIn.ToLowerInvariant().Contains(SearchFor.ToLowerInvariant())