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

-
-
- Сообщения: 32
- Зарегистрирован: 18.11.2002 (Пн) 18:20
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

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 17.10.2004 (Вс) 14:07
1. Корректнее писать это в Text1_KeyPress
2. Text1_Validate выполнится, только если у следующего по TabOrder-у контрола установлено CausesValidation
-
GM
-
- 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
Кто сейчас на конференции
Сейчас этот форум просматривают: Yandex-бот и гости: 4