Аналог getKeyChar() и getKeyCode()

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

mefisto_hero
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 22.01.2008 (Вт) 17:45
Откуда: Санкт-Петербург

Аналог getKeyChar() и getKeyCode()

Сообщение mefisto_hero » 22.01.2008 (Вт) 17:50

Так вот. В Java есть событие, которое срабатывает при нажатии клавиши на клавиатуре. Используя эти две функции можно узнать введённый символ и специальный код клавиши. А как это можно реализовать в VB.Net? :)

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

Сообщение Viper » 22.01.2008 (Вт) 17:55

Смотрим события KeyDown, KeyPress, KeyUp.
Весь мир матрица, а мы в нем потоки байтов!

mefisto_hero
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 22.01.2008 (Вт) 17:45
Откуда: Санкт-Петербург

Сообщение mefisto_hero » 22.01.2008 (Вт) 18:14

е - System.Windows.Forms.KeyPressEventArgs

Метод e.KeyChar работает без проблем, а вот метода e.KeyCode - нет.
Код: Выделить всё
    Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As   System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
        Me.Label1.Text = e.KeyChar
    End Sub

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

Сообщение Viper » 22.01.2008 (Вт) 19:26

События KeyUp и KeyDown имеют в качестве аргумента экземпляр класса KeyEventArgs, содержащий помимо всего прочего и поле KeyCode. Так что все есть. Надо только знать где.
Весь мир матрица, а мы в нем потоки байтов!

mefisto_hero
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 22.01.2008 (Вт) 17:45
Откуда: Санкт-Петербург

Сообщение mefisto_hero » 22.01.2008 (Вт) 20:07

Все, понял. Спасибо за посч :D

Proverb
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 09.02.2012 (Чт) 14:16

Re: Аналог getKeyChar() и getKeyCode()

Сообщение Proverb » 15.02.2012 (Ср) 15:54

Уважаемые Форумчани. Я создал маленький калькулятор, теперь хочу чтобы не нажимая на кнопку, например, 1, сражу нажать на Numpad 1 и чтоб цыфра высветилось в ЭдитБоксе. Короче такая фишка есть в стандартном Виндовсовском калк-е...

Можете показать как написать код, либо указать где мона найти???
СПС за помощь!!!

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

Re: Аналог getKeyChar() и getKeyCode()

Сообщение Viper » 15.02.2012 (Ср) 18:38

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

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 15.02.2012 (Ср) 20:56

Один из вариантов - на все контролы повесить обработку KeyPress. Это событие получает активный контрол.
Если важно именно Numpad, то KeyDown или KeyUp.

coderx
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 05.09.2005 (Пн) 10:44
Откуда: Узбекистан

Re:

Сообщение coderx » 15.02.2012 (Ср) 22:49

Qwertiy писал(а):Один из вариантов - на все контролы повесить обработку KeyPress. Это событие получает активный контрол.
Если важно именно Numpad, то KeyDown или KeyUp.

Ещё можеть получить сама форма.
С остальными контролами ничего не нужна делать.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 16.02.2012 (Чт) 19:58

coderx писал(а):Ещё можеть получить сама форма.
С остальными контролами ничего не нужна делать.

Для того, чтобы форма получала все события, надо установить ещё какое-то свойство, на вскидку не помню, но по названию его легко вычислить. Однако не помню, работает ли это с KeyPress, или только с KeyDown и KeyUp.
Так что проще именно на все.

coderx
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 05.09.2005 (Пн) 10:44
Откуда: Узбекистан

Re: Аналог getKeyChar() и getKeyCode()

Сообщение coderx » 17.02.2012 (Пт) 6:03

Называется KeyPreview.
KeyPress тоже отловить.


Вернуться в Visual Basic .NET

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42

    TopList