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

Работа с клавиатурой в VB.Net, Часть II

 
 

В предыдущем шаге ты узнал об основах работы с клавиатурой, в этой части речь пойдет о проверке состояния клавиш(включая Control, Alt, Shift). Сейчас мы сделаем программу, которая будет проверять нажатия некоторых клавиш. На форму ни чего не размещай, вот код:

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.Control = True And e.KeyCode = Keys.Q Then MsgBox("Нажата Control и Q") ' Если нажата клавиша Contro(вместо неё можно написать Alt или Shift) и Q то выдаем сообщение
End Sub 

Наверное ты заметил, что свойство KeyCode не умеет обрабатывать русские буквы. Для обработки русских и прописных букв надо использовать событие KeyPress и свойство KeyChar. Вот код:

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
If e.KeyChar = "п" Then MsgBox("Нажата клавиша: п") ' Если нажата клавиша 'п' то выводим сообщение
End Sub

Исходник


Есть вопросы? Спроси на нашем форуме!!
Дэш [27.06.2012 01:36]

в Visual Studio 2010 отсутствует e.KeyChar не подскажете что делать?

Дэш [27.06.2012 01:44]

Пардон, лоханулся, все там есть =)

Алексей(alex13sh) [27.06.2012 08:37]

Дэш, это просто нереально эти уроки на vb.Net Написанны на VS 2010)

Дэш [03.07.2012 01:15]

Алексей, да это я тупанул)

AntiCat [26.09.2012 02:34]

Всё правильно написанно.. просто вы не замеили разницу межу Form1load и Form1KeyPress

AntiCat [26.09.2012 02:41]

Добили бы сайт до редактирования информации для пользователя написавшего её...сорри чуть выше на один пример.. Поддержу человека написавшего данную тему.. но косяк конечно же за ним в том что не пояснил ... форма должна не запускать , а использовать значение при нажатие..тоесть чуть правее с право измените настройки ...

GXTrus10 [24.05.2014 16:44]

Пример не работает если на форме есть текстовые поля или кнопки (свойство формы KeyPrewiew - True решает эту проблему)



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




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