Модераторы: gambit, Partizan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопросы по RichTextBox 
:(
    Опции темы
PaZ1T1V
Дата 17.4.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 26.2.2008
Где: Багдад )

Репутация: нет
Всего: нет



написал, все как мне было сказано, один 4ерт не работает как надо, находит первый елемент и дальше не двигается ((((((( 

Код


//searchStart = form1.richTextBox1.Text.Length; нельзя етого делать 
this.form1.findValue = findBox.Text;
                if (this.form1.findValue.Length == 0)
                    return;
searchStart = form1.richTextBox1.Find(this.form1.findValue, searchStart, RichTextBoxFinds.Reverse );

                if (searchStart <= form1.richTextBox1.Text.Length)
his.form1.richTextBox1.Select(searchStart, form1.findValue.Length);
                    this.form1.richTextBox1.SelectionBackColor = Color.Gray;
} else
                    MessageBox.Show("По вашему запросу ничего не найдено!");
                ++searchStart; // при --searchStart тоже не работает
                this.form1.listBox1.Items.Add("searchStart " + searchStart.ToString());
                if (searchStart <= 0 )
                {
                    MessageBox.Show("Просмотр документа закончен");
                    searchStart = form1.richTextBox1.Text.Length;
                }

в общем как не крути, а все одно полу4ается файнд а нефайнд некст)))))))


Это сообщение отредактировал(а) PaZ1T1V - 17.4.2008, 16:55
--------------------
[size=8]Atention please!!![/size]
[size=6]Кривые руки[/size]
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
vponomarov
Дата 17.4.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



PaZ1T1V, блин, ну а подумать? smile 
метод richTextBox.Find ищет указанный текст начиная с заданной позиции.
если ты ему будишь указывать один и тотже searchStart=richTextBox1.Text.Length то понятное дело, что он будет находить одно и тоже, т.е. первое вхождение.
для того чтобы реализовать Find NExt 
1. можно сделать переменную searchStart глобальной, присвоить ей начальное значение richTextBox1.Text.Length и потом изменять ее как написано в твоем коде searchStart = form1.richTextBox1.Find(this.form1.findValue, searchStart, RichTextBoxFinds.Reverse );
2. (этот вариант мне нравится больше) searchStart = form1.richTextBox1.Find(this.form1.findValue, richTextBox1.SelectionStart, RichTextBoxFinds.Reverse );

если что-то не так понял, то извени smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
PaZ1T1V
Дата 18.4.2008, 06:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 26.2.2008
Где: Багдад )

Репутация: нет
Всего: нет



я думал над етим и пришол к тому же времени; когда я пытаюсь написать обратный поиск я уменьшаю етот сеар4старт

++searchStart; // при --searchStart тоже не работает
ето тут неправильно надо так
--searchStar

вроде дожно все работать, ан нет, находит первое попавшееся слово и останавливается на нем сколько бы я не жал на кнопку 
--------------------
[size=8]Atention please!!![/size]
[size=6]Кривые руки[/size]
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
vponomarov
Дата 18.4.2008, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



PaZ1T1V, перечитай пожалуйста внимательно мой последний пост и сделай, как я сказал smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
PaZ1T1V
Дата 18.4.2008, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 26.2.2008
Где: Багдад )

Репутация: нет
Всего: нет



пере4итал, сделал как ты сказал, все одно и тоже, может ты выложиш сюда готовый код етого поиска ? 
--------------------
[size=8]Atention please!!![/size]
[size=6]Кривые руки[/size]
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
vponomarov
Дата 18.4.2008, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



Код

this.form1.findValue = findBox.Text;
                if (this.form1.findValue.Length == 0)
                    return;
searchStart = form1.richTextBox1.Find(this.form1.findValue, richTextBox1.SelectionStart, RichTextBoxFinds.Reverse );

                if (searchStart <= form1.richTextBox1.Text.Length)
his.form1.richTextBox1.Select(searchStart, form1.findValue.Length);
                    this.form1.richTextBox1.SelectionBackColor = Color.Gray;
} else
                    MessageBox.Show("По вашему запросу ничего не найдено!");
                this.form1.listBox1.Items.Add("searchStart " + searchStart.ToString());
                if (searchStart <= 0 )
                {
                    MessageBox.Show("Просмотр документа закончен");
                    searchStart = form1.richTextBox1.Text.Length;
                }



--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
PaZ1T1V
Дата 21.4.2008, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 169
Регистрация: 26.2.2008
Где: Багдад )

Репутация: нет
Всего: нет



именно так написал и не работает )))))))
--------------------
[size=8]Atention please!!![/size]
[size=6]Кривые руки[/size]
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
vponomarov
Дата 21.4.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 5
Всего: 12



PaZ1T1V, держи. вот это точно работает smile 
Код

string findValue = findBox.Text;
            if (findValue.Length == 0)
                return;

            int searchStart = richTextBox1.Find(findValue,0, richTextBox1.SelectionStart, RichTextBoxFinds.Reverse);
            if (searchStart >= 0)
                richTextBox1.SelectionBackColor = Color.Red;
            else
            {
                MessageBox.Show("По вашему запросу ничего не найдено!");
                richTextBox1.Select(richTextBox1.Text.Length, 0);
            }



--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0564 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.