Как отследить конец ввода в TextBox?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alkoch
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 18.11.2002 (Пн) 18:20

Как отследить конец ввода в TextBox?

Сообщение Alkoch » 17.10.2004 (Вс) 12:12

Помогите пожалуйста новичку. ВВожу текст в TextBox, и после нажатия клавиши Enter ввод прекращается и надо перейти к выполнению некоторого кода.

ta_gena
Бывалый
Бывалый
 
Сообщения: 264
Зарегистрирован: 30.10.2002 (Ср) 12:18
Откуда: Russia

Сообщение ta_gena » 17.10.2004 (Вс) 12:33

Код: Выделить всё
'Для того, чтобы по нажатию кл Enter заканчивался ввод:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  If keyCode = vbKeyReturn And Shift = 0 Then VBA.SendKeys vbKeyTab
End Sub

'Для проверки лучше использовать
Private Sub Text1_Validate(Cancel As Boolean)
    'Если условие не вполняется
    Cancel = True
End Sub

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.10.2004 (Вс) 14:07

1. Корректнее писать это в Text1_KeyPress
2. Text1_Validate выполнится, только если у следующего по TabOrder-у контрола установлено CausesValidation
Изображение

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 17.10.2004 (Вс) 20:06

Только на форме не должно быть кнопок с свойством Default = true, а то события Key* при нажатии Enter, не будет.
الفيجوال بيسك الرابح

kazah_
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 13.01.2003 (Пн) 18:37
Откуда: Russia

Сообщение kazah_ » 25.10.2004 (Пн) 15:55

ta_gena писал(а):
Код: Выделить всё
'Для того, чтобы по нажатию кл Enter заканчивался ввод:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  If keyCode = vbKeyReturn And Shift = 0 Then VBA.SendKeys vbKeyTab
End Sub

'Для проверки лучше использовать
Private Sub Text1_Validate(Cancel As Boolean)
    'Если условие не вполняется
    Cancel = True
End Sub

Можно проще ... намного...

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
MsgBox "End"
End If
End Sub

И че людям мозгу трахать?
Mr DEN - THE WAY YOU KNOW / Мр. ДЕН - Ваш Путь к Познанию!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 7

    TopList