@Dominik09

C# Как правильно написать программу по нахождению слова в строке с учетом регистра?

Здравствуйте. Программа состоит из 2 форм. в 1-ой форме richtextbox, во 2-ой форме textbox. При вводе какого-то слова в textbox я ищу это слово в 1-ой форме в richtextbox. У меня пример таков "слово СЛОВО Слово слово". Нужно чтобы я мог пошагово находить слова, т.е. сначала нашел первое слово и при нажатии "Найти далее" снял выделение с этого слова и выделил следующее слово. В таком же порядке с учетом регистра и под конец смог выделить все найденные слова, как с учетом так и без учета. Т.е. все как делается в ворде. Мне удалось осуществить передачу данных с одной формы на другую. Удалось найти слова. Но вся проблема в том, что он выделяет все сразу и у меня не получается находить пошагово. И почему он не слушается команды по учету регистра, хотя передаю правильно. Скажите как правильно мне все запрограммировать? Вот фрагменты кода:
2-ая форма (отсюда я запускаю метод по поиску слова)
Form form = (Form)this.Owner;
form.opr(findBox.Text, form.Content.SelectionStart);

это код кнопки "найти далее"
Form form = (Form)this.Owner;
form.opr(findBox.Text, form.Content.SelectionStart + findBox.Text.Length);

1-я форма
public void opr(string text, int i)
{
Content.Select(1, 0);
string a = Content.Text;
string b = text;
if(u)
{
a = a.ToLower();
b = b.ToLower();
}
if (a == b)
{
i = a.IndexOf(b, i);
if (i == -1)
i = a.IndexOf(b, 0);

Content.Select(i, b.Length);
Content.SelectionStart = Content.Text.IndexOf(text);
Content.SelectionLength = text.Length;
Content.SelectionBackColor = Color.Red;
Content.Focus();
}
}
  • Вопрос задан
  • 1127 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы