Программирование
Веб программирование

Событие KeyPress. Запрет ввода определенных символов.

 
 

Привет сегодня я расскажу как запретить ввод определенных символов в текстбокс.

И так стандартная форма , добавим текстбокс откроем код проекта выберем текстбокс и событие KeyPress. Это событие наступает когда нажата клавиша.

Внутри событии напишим этот текст:

Select Case KeyAscii
Case 0 To 192 - код символа 
Case Else
KeyAscii = 0
End Select

0 To 192 - код символа латинских символов , точно незнаю с какой цифры начинается.

Case Else - в противном случае

KeyAscii = 0 - не вводить

дальше.

Запрещаем ввод латинских символов:

Private Sub Text1_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
        Case 192 To 256
        Case Else
        KeyAscii = 0
    End Select
End Sub

Запретит всех символов кроме номера, 0-9 :

Private Sub Text1_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
        Case 48 To 57
        Case Else
        KeyAscii = 0
    End Select
End Sub

Вот и все.


Есть вопросы? Спроси на нашем форуме!!
Padre [08.11.2011 20:48]

Вот таблица ASCII символов и обозначения к ним:
http://vbbook.ru/page/ascii-tablica-simvolov/

Саня [08.11.2011 21:43]

Почему у Карима написано "0 To 192 - код символа русских символов" а у Padre в таблице русские символы: от 192 до 255 ??
Почему?

Карим [08.11.2011 23:26]

Почему не знаю, наверно Padre перепутал , у него много статьи .

Карим [08.11.2011 23:32]

не ребят эт я перепутал русские символы начинаются от 192 до 255.
можно самому проверить :
добавьте 2 текстбокса вот код:
Private Sub Command1_Click()
Text2.Text = Asc(Text1.Text)
End Sub

Костя [12.02.2012 19:08]

Я так делал, но при русских символах вылетает, почему я сам не знаю, вот мой код, я его в Access VBA писал:

Private Sub Поле2KeyPress(KeyAscii As Integer)
Dim ErrorCH As String
ErrorCH = "{}:;.[]\|`!@#$%^&*()
+= ,/?<>~-№""''~1234567890"
If InStr(1, ErrorCH, Chr(KeyAscii)) > 0 Then
KeyAscii = 0
Beep
End If



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.