Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/65: Рейтинг темы: голосов - 65, средняя оценка - 4.98
118 / 107 / 17
Регистрация: 10.02.2013
Сообщений: 278

TextBox, событие окончания ввода текста

08.08.2013, 13:13. Показов 12906. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть ли такое событие, чтоб например когда вводишь в TextBox текст, ничего не происходит,
а когда завершил ввод, то срабатывает событие, и мы грузим данные с сайта, вобщем мне нужно сделать выбор страны, города... для вк как тут http://vk.com/search?c[section]=people
решил использовать ComboBox или TextBox, но с событиями проблема, что тут можно сделать?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.08.2013, 13:13
Ответы с готовыми решениями:

Событие изменения текста TextBox которое не реагирует на программное изменение
Похоже нет ничего проще чем обрабатывать событие KeyUp вместо TextChanged или есть что-то получше?

Как правильно отловить событие на изменение текста в TextBox в UserControl?
Доброго дня! В UserControl имеются TextBox'ы. Пытаюсь отловить изменение текста в TextBox, но программа реагирует на изменение КАЖДОГО...

Событие при активации textbox. Или событие при изменения фокуса
Здравствуйте. Подскажите можно ли создать свое событие происходящий вовремя активации textbox. Имеется ввиду создать свой класс...

10
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
08.08.2013, 13:22
Цитата Сообщение от Leksar Посмотреть сообщение
когда завершил ввод
Не совсем понимаю, с точки зрения кого (машины или юзера) завершился ввод...
Можно использовать
VB.NET
1
2
3
    Private Sub TextBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated
 
    End Sub
Событие работает когда курсор покидает текстовое поле.
Еще можно по окончании ввода нажимать Enter, но пока не понятно, что именно понимается под "завершением ввода"
0
1651 / 714 / 47
Регистрация: 11.03.2012
Сообщений: 1,855
Записей в блоге: 1
08.08.2013, 13:24
Leksar, не уверен, что такое событие есть.
Наверное вам придется придумать свой алгоритм проверки.
0
118 / 107 / 17
Регистрация: 10.02.2013
Сообщений: 278
08.08.2013, 13:43  [ТС]
Цитата Сообщение от Release Посмотреть сообщение
Leksar, не уверен, что такое событие есть.
Наверное вам придется придумать свой алгоритм проверки.
перебрал все события и понял, что действительно такого нет

Цитата Сообщение от Памирыч Посмотреть сообщение
Не совсем понимаю, с точки зрения кого (машины или юзера) завершился ввод...
Можно использовать
VB.NET
1
2
3
    Private Sub TextBox1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated
 
    End Sub
Событие работает когда курсор покидает текстовое поле.
Еще можно по окончании ввода нажимать Enter, но пока не понятно, что именно понимается под "завершением ввода"
суть такая, вводим текст, потом идет как бы таймаут в 100-300 мс, и проверяется условие
если текст не был изменен (то есть пользователь ввел текст и ждет...), то делаем GET запрос к сайту, парсим данные и выводим, чтоб эти данные в ComboBox'e были как Items или через AutoComplete
мне нужно сделать выборку пользователей с вк по критериям, там есть выбор страны, города и т.д...
а хранить всю базу городов в программе нереально, она в больше 300мб весит
вот и хочу чтоб эти данные подгружались динамически
----------------------
фокус должен быть всегда в элементе
0
 Аватар для KolunyaZ
140 / 98 / 20
Регистрация: 11.03.2013
Сообщений: 147
08.08.2013, 13:53
можно попробовать на основе таймера: свойство таймера Interval - период, после которого мы считаем что пользователь ничего не вводит

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        If Timer1.Enabled = True Then
            Timer1.Enabled = False 'Не даем таймеру "тикнуть"
            Timer1.Enabled = True
        Else
            Timer1.Enabled = True 'Запускаем таймер чтоб через n-ое время после окончания ввода запустить процедуру
        End If
    End Sub
 
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       Start_Procedure 'Собственно, то что нам надо выполнить
        Timer1.Enabled = False
    End Sub
1
1651 / 714 / 47
Регистрация: 11.03.2012
Сообщений: 1,855
Записей в блоге: 1
08.08.2013, 13:53
Leksar, ну дак проверяй на наличие нажатия клавиш, если клавиши не нажимаются 3-5 секунд, то выполняй свой запрос..
0
118 / 107 / 17
Регистрация: 10.02.2013
Сообщений: 278
08.08.2013, 14:01  [ТС]
Цитата Сообщение от KolunyaZ Посмотреть сообщение
можно попробовать на основе таймера: свойство таймера Interval - период, после которого мы считаем что пользователь ничего не вводит

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        If Timer1.Enabled = True Then
            Timer1.Enabled = False 'Не даем таймеру "тикнуть"
            Timer1.Enabled = True
        Else
            Timer1.Enabled = True 'Запускаем таймер чтоб через n-ое время после окончания ввода запустить процедуру
        End If
    End Sub
 
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       Start_Procedure 'Собственно, то что нам надо выполнить
        Timer1.Enabled = False
    End Sub
тоже с таймером мудрил, но до ума не довел
а это то что нужно, спасибо
0
1651 / 714 / 47
Регистрация: 11.03.2012
Сообщений: 1,855
Записей в блоге: 1
08.08.2013, 14:50
Leksar, вот так по лучше будет
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 Dim Key As Boolean = True
    Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
        Key = True
        Timer1.Stop()
    End Sub
    Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp
        Key = False
        Timer1.Start()
    End Sub
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        If Key = False Then
            sender.Stop()
            Button1.Visible = True
        End If
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Timer1.Interval = 3000 ' три раза мерцания курсора
        Button1.Visible = False
    End Sub
1
 Аватар для vadimn
7 / 7 / 0
Регистрация: 28.11.2012
Сообщений: 55
26.05.2015, 19:13
Цитата Сообщение от Памирыч Посмотреть сообщение
Еще можно по окончании ввода нажимать Enter
Как это сделать?
0
Почетный модератор
 Аватар для Памирыч
23248 / 9160 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
26.05.2015, 19:33
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

vadimn, чтобы по нажатию Enter перейти, например, на другое поле, то

VB.NET
1
2
3
4
5
6
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.Enter Then
            e.SuppressKeyPress = True
            TextBox2.Focus()
        End If
    End Sub
1
 Аватар для vadimn
7 / 7 / 0
Регистрация: 28.11.2012
Сообщений: 55
26.05.2015, 19:37
Спасибо, Памирыч, это то, что я искал!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2015, 19:37
Помогаю со студенческими работами здесь

Событие окончания ввода в TextBox
Всем программистам привет)) Смотрите есть textBox, я в него ввожу любое число, а в это время по определенной формуле считается так ...

Событие Textbox, возниувющее после окончания ввода (+++)
Т.е. не потеря фокуса, а например нажатие Enter в Textbox, т.к. после у меня на основе этого фильтруется Recordset и выводится в DBGrid.

(Исправление/добавление) текста в textBox. Курсор ввода уходит в конец текста
Добрый день! Написал текст в textBox, хочу исправить один или два символа в середине текста или добавить слово, устанавливаю курсор и...

Событие ввода текста в ячейку Datagrid
мне нужно такое событие, когда я ввожу тест в ячейку datagid выполнялось определенное действие.

Перехватить событие вставки текста в TextBox
Разрабатываю (поддерживаю) приложение с использованием MVVM. Есть ДатаГрид, есть ДатаТемплейт, который используется для отображения айтемов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru