Программирование
Система
Веб программирование
|
Работа с клавиатурой в 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
Урок 18 - Работа с клавиатурой в VB.Net, Часть I Содержание
Урок 20 - Работа с клавиатурой в VB.Net, Часть III
Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях. |
в Visual Studio 2010 отсутствует e.KeyChar не подскажете что делать?
Пардон, лоханулся, все там есть =)
Дэш, это просто нереально эти уроки на vb.Net Написанны на VS 2010)
Алексей, да это я тупанул)
Всё правильно написанно.. просто вы не замеили разницу межу Form1load и Form1KeyPress
Добили бы сайт до редактирования информации для пользователя написавшего её...сорри чуть выше на один пример.. Поддержу человека написавшего данную тему.. но косяк конечно же за ним в том что не пояснил ... форма должна не запускать , а использовать значение при нажатие..тоесть чуть правее с право измените настройки ...
Пример не работает если на форме есть текстовые поля или кнопки (свойство формы KeyPrewiew - True решает эту проблему)
Оставлять комментарии можно только зарегистрированным