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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать поиск и замену в TextBox? 
V
    Опции темы
Алеkc
Дата 2.5.2011, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 6.11.2010

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



Как сделать поиск и замену в TextBox?
PM MAIL   Вверх
diadiavova
Дата 3.5.2011, 03:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Искать надо в строке, возвращаемой свойством Text (метод IndexOf), далее выделять найденную подстроку( свойства SelectionStart и SelectionLength), затем заменять с помощью свойства SelectionText.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Алеkc
Дата 3.5.2011, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 6.11.2010

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



Цитата(diadiavova @ 3.5.2011,  03:19)
Искать надо в строке, возвращаемой свойством Text (метод IndexOf)

набрасал такой код:
Код

Dim search As String = Me.TextBox1.Text
        Dim sel As Integer = Form1.TextBox1.Text.IndexOf(search)
        If sel <> -1 Then
            TextBox1.Select(sel, search.Length)
        End If
        Form1.TextBox1.Focus()

Но в TextBox ничего не выделяется
PM MAIL   Вверх
diadiavova
Дата 3.5.2011, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



А Form1 это у тебя что: имя формы или имя класса? Если последнее, то оно и скомпилиться не должно, а если первое, то убедись, что эта переменная ссылается именно на тот экземпляр, в котором ты ждешь эффекта. Скорей всего тебе надо вместо Form1 написать Me. А вообще по этому куску трудно что-либо сказать.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Алеkc
Дата 3.5.2011, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 6.11.2010

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



Form1 - это первая форма с TextBox1, а Ме -  это форма с поиском
PM MAIL   Вверх
diadiavova
Дата 3.5.2011, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(Алеkc @  3.5.2011,  23:02 Найти цитируемый пост)
Form1 - это первая форма с TextBox1, а Ме -  это форма с поиском 

Не совсем понял, что в чем ты собираешься искать, скорей всего все сделал наоборот. Тот текст в котором надо искать подстроку - это та сторока, у которой ты вызываешь метод IndexOf, сам текст подстроки поиска передается этому методу как аргумент. То есть, если тебе надо найти индекс слова "world" в строке "Hello world", то делается это так
Код

Dim index = "Hello world".IndexOf("world")

а не наоборот.

Добавлено через 3 минуты и 20 секунд
В аттаче пример. В большое поле вводи большой текст, в малое - строку поиска и по нажатию кнопки первое вхождение строки будет выделяться.

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  seltext.rar 65,96 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Алеkc
Дата 4.5.2011, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 6.11.2010

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



Спасибо, разобрался
PM MAIL   Вверх
krewin
Дата 6.5.2011, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 27.8.2009

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



вот еще способ номер два
Код

Dim Txt As String = "В этом тексте находится (искоемое значение тут) для многновенной заменны"
Dim Finder As String = "искоемое значение тут"
textbox1.text = Replace(Txt, Finder, "Заменить текстом, пишем тут")

PM MAIL   Вверх
Алеkc
Дата 8.5.2011, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 6.11.2010

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



Цитата(krewin @ 6.5.2011,  11:40)
вот еще способ номер два

Спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

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

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


 




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


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

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