Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: If KeyAscii = 43 Then Добавлено: 20.11.02 13:10  

Автор вопроса:  Son
 

Пишу код

Private Sub Текст1_KeyPress(KeyAscii As Integer)

    If KeyAscii = 43 Then

        Текст2.SetFocus

    End If

End Sub

Ввожу в Текст1 число, давлю "+", активизируется Текст2, но одна проблема в Текст1 пишется "+". Как избежать этого плюса?

Спасибо

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #1 Добавлено: 20.11.02 13:27

Private Sub Текст1_KeyPress(KeyAscii As Integer)

If KeyAscii = 43 Then

KeyAscii = 0

Текст2.SetFocus

End If

End Sub

Ответить

Номер ответа: 2
Автор ответа:
 ГАТ



Вопросов: 2
Ответов: 117
 Web-сайт: www.mail.ru
 Профиль | | #2
Добавлено: 20.11.02 22:44

Проследи события которые происходят при вводе символа в TextBox. Примерно так:
KeyDown
KeyPress
Change
KeyUp
Каждое нажатие клавиши пишется в буфер клавиатуры и считывается системой из него по мере необходимости.
VB считывает из буфера после завершения события KeyPress в активный контрол. Поэтому, когда ты переназначаешь в KeyPress активный контрол, то естественно он туда и пишет.
Насколько я понял, ты пишешь что-то подобное калькулятору с двумя стеками. Поэтому предлагаю не гасить символы операторов плюс, минус и т.д., а перенаправлять их, например в Label, а затем переходить во второй стек.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам