Страница 1 из 1

Ожидание нажатия любой клавиши

Добавлено: 03 янв 2011, 09:23
AndAsh
Здравствуйте,
Помогите пожалуйста решить вопрос с ожиданием нажатия любой клавиши.
Есть форма, на ней есть TextBox (вернее их несколько), при инициализации формы фокус устанавливается на TextBox1. Пользователь должен ввести значение в TextBox1, TextBox2 и т.д.
После ввода значений нажимается кнопка Старт, происходит проверка введенных значений и, если в каком нибудь из TextBox значение не соответствует шаблону, то введенное в этот TextBox значение убирается, фокус устанавливается на этот TextBox. Вот тут-то и нужна процедура, которая ожидает нажатие любой клавиши (вводимые значения не более одного символа). После нажатия клавиши фокус передается кнопке Старт.
Может кто-нибудь сталкивался с подобной задачей, помогите пожалуйста!

Re: Ожидание нажатия любой клавиши

Добавлено: 03 янв 2011, 11:43
Busine2009

Код: Выделить всё

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
CommandButton1.SetFocus
End Sub

Re: Ожидание нажатия любой клавиши

Добавлено: 03 янв 2011, 16:21
AndAsh
А как вызвать эту процедуру в коде, дайте пожалуйста пример.

Re: Ожидание нажатия любой клавиши

Добавлено: 03 янв 2011, 16:27
Busine2009
AndAsh
на форме должны быть Textboxы. Открываете код формы - вверху в ниспадающем левом списке выбираете нужный Textbox, а в правом ниспадающем списке событие "KeyUp". Появился код:

Код: Выделить всё

Private Sub UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

End Sub
Вставляете в него вот это:

Код: Выделить всё

CommandButton1.SetFocus
где CommandButton1 - имя кнопки "Старт".
А как вызвать эту процедуру в коде, дайте пожалуйста пример.
Запустите форму и нажмите на любую клавишу.

Re: Ожидание нажатия любой клавиши

Добавлено: 04 янв 2011, 05:29
AndAsh
Все работает как надо!
Большое Вам спасибо за помощь!