Страница: 1 |
Пишу код Private Sub Текст1_KeyPress(KeyAscii As Integer) If KeyAscii = 43 Then Текст2.SetFocus End If End Sub Ввожу в Текст1 число, давлю "+", активизируется Текст2, но одна проблема в Текст1 пишется "+". Как избежать этого плюса? Спасибо
Private Sub Текст1_KeyPress(KeyAscii As Integer) If KeyAscii = 43 Then KeyAscii = 0 Текст2.SetFocus End If End Sub Проследи события которые происходят при вводе символа в TextBox. Примерно так: Страница: 1 |
Вопрос: If KeyAscii = 43 Then
Добавлено: 20.11.02 13:10
Автор вопроса: Son
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 20.11.02 13:27
Номер ответа: 2
Автор ответа:
ГАТ
Вопросов: 2
Ответов: 117
Web-сайт:
Профиль | | #2
Добавлено: 20.11.02 22:44
KeyDown
KeyPress
Change
KeyUp
Каждое нажатие клавиши пишется в буфер клавиатуры и считывается системой из него по мере необходимости.
VB считывает из буфера после завершения события KeyPress в активный контрол. Поэтому, когда ты переназначаешь в KeyPress активный контрол, то естественно он туда и пишет.
Насколько я понял, ты пишешь что-то подобное калькулятору с двумя стеками. Поэтому предлагаю не гасить символы операторов плюс, минус и т.д., а перенаправлять их, например в Label, а затем переходить во второй стек.