Значить, имею в форме поля для ввода текста, хотел бы что-бы после ввода определеного количества символов, наример 5, программа перешла автоматический в другое поле ввода ?
Спасибо, всем умникам !
			
		


Private Sub txt1_KeyPress(KeyAscii As Integer)
    If Len(txt1.Text) >= 5 Then txt2.SetFocus
End Sub

If KeyAscii = 27 and txt1.text = 0 Then
txt0.SetFocus             'Перемещаемя в предыдущий Т/Б
txt0.SelStart = 32766  'Ставим курсор в его конец.
txt0.SelLengh = 0


Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
    If KeyAscii = 8 Then Exit Sub 'Дабы по бэкспейсу не переходило на следущую позицию
    If KeyAscii = 13 Then Exit Sub
    If Len(Text1(Index).Text) = 4 Then Text1((Index + 1) Mod Text1.Count).SetFocus
    If Len(Text1(Index).Text) = 5 Then KeyAscii = 0 'Больше пяти символов не запишешь!
End Sub

txt0.SelStart = 32766
txt0.SelStart = Len(txt0)

Twister писал(а):Так правильно


я так делал - ошибок нет
 Просто, думается мне, следует давать общий вариант решения, а об оптимизации автор подумает потом сам, если конечно ему важны тысячные доли секунды...
  Просто, думается мне, следует давать общий вариант решения, а об оптимизации автор подумает потом сам, если конечно ему важны тысячные доли секунды...
 
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13