2

Я пытаюсь создать программу, в которой вам нужно выбрать горячую клавишу, но вы можете дать только символ из кода, который я произвел, где я хочу, чтобы можно было установить что-то вроде F9. Я прошел через несколько на этом сайте, и это ближе всего к тому, что я хочу. Я использую Visual Studio 2013.Как проверить нажатую клавишу в VB

Это то, что у меня есть до сих пор.

Private Sub Configure_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress 
    MsgBox("Your new hotkey is: " & e.KeyChar) 
End Sub 

Заранее спасибо.

+1

Событие ['KeyPress'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress (v = vs.110) .aspx) не вызвано несимвольные ключи, отличные от пространства и обратного пространства; однако несимвольные ключи поднимают ['KeyDown'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown (v = vs.110) .aspx) и ['KeyUp'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.keyup (v = vs.110) .aspx). –

+0

Привет, я попробую. –

+0

Добро пожаловать :) Я также отправлю образец кода для вас. Надеюсь, вы сочтете это полезным. –

ответ

2

Событие KeyPress не связано с символами, отличными от символов и пробелов; однако, несимвольные клавиши действительно поднимают события KeyDown и KeyUp.

Set ReadOnly свойство вашей TextBox1 в true и обрабатывать keyDown событие:

Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox2.KeyDown 
    Me.TextBox1.Text = e.KeyData.ToString() 
End Sub 

Это показывает также комбинации клавиш в тэ текстовом поле, например, если вы нажмете Ctrl + Shift, + F9 вы увидите F9, Shift, Control в текстовом поле.

Вы можете использовать KeyCode, Modifiers и другие свойства KeyEventArgs, чтобы получить информацию о ключах.

+0

Привет, это именно то, что я хотел! Благодаря! –

+0

Добро пожаловать :) –

Смежные вопросы