Как избавиться от Beep при нажатии Enter

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Greymos
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 30.01.2007 (Вт) 15:08

Как избавиться от Beep при нажатии Enter

Сообщение Greymos » 30.01.2007 (Вт) 15:28

При нажатии на ENTER в TextBox'е раздается стандартный звук (он же вызывается BEEP'ом). Как выключить проигрывание этого звука, при нажатии на ENTER?

Подозреваю, что звук раздается из за того, что свойство MultiLine=False, а т.к. Enter переводит на новую строку, что в данном случаи невозможно то VB и ругается.

Так как обработать нажатие Enter в TextBox не вызывая при этом ошибки (т.е. Beep)

P.S. Кстати аналогичная тема http://bbs.vbstreets.ru/viewtopic.php?t=19984&start=0&postdays=0&postorder=asc&highlight=
уже поднималась на этом форуме, но ответа на нее не дали. Вернее дали, но не верный.
Последний раз редактировалось Greymos 30.01.2007 (Вт) 15:47, всего редактировалось 1 раз.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 30.01.2007 (Вт) 15:31

Код: Выделить всё
Private Sub txt_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
    KeyCode = 0
End If
End Sub

как то так
Весь мир матрица, а мы в нем потоки байтов!

Greymos
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 30.01.2007 (Вт) 15:08

Сообщение Greymos » 30.01.2007 (Вт) 15:43

Не работает :(

Т.е. событие (Нажатие клавиши Enter)он отрабатывает, но при этом по прежнему вопит.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 30.01.2007 (Вт) 15:54

Я, конечно, не Станиславский, но тем не менее: Не верю!
Весь мир матрица, а мы в нем потоки байтов!

Greymos
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 30.01.2007 (Вт) 15:08

Сообщение Greymos » 30.01.2007 (Вт) 16:01

И тем не менее:
Создаю форму. Помещаю один TextBox
Пишу код
Код: Выделить всё
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
    KeyCode = 0
    Print "Облом"
End If
End Sub


Ставлю курсор в поле ввода. Нажимаю Enter ....

AntonGV
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 24.05.2006 (Ср) 12:10
Откуда: г. Пермь

Сообщение AntonGV » 30.01.2007 (Вт) 20:33

Greymos Делай так:
Код: Выделить всё
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii = 13) Then
  Print "Ура работает!"
  KeyAscii = 0
End If
End Sub
Если долго мучиться, что-нибудь получится

Greymos
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 30.01.2007 (Вт) 15:08

Сообщение Greymos » 31.01.2007 (Ср) 12:05

Огромное СПАСИБО. Заработало. Даже не думал, что эту проблему можно ТАК решить. До этого поста единственным рабочим вариантом (который я нашел в интернете) было предложение поместить кнопку на форму, сделать ее не видимой и отрабатывать нажатие Enter на ней. Но данное предложение намного изящнее. Еще раз спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: серверянин и гости: 0

    TopList