Несколько вопросов для Visual Basic - PullRequest
2 голосов
/ 02 июля 2010

Как бы я сделал следующее в Visual Basic Express?

a) Нажмите «delete», «home» и «shift» на клавиатуре с программой. // Еще нужно выяснить, как это сделать.
б) Определите, когда нажаты "z" и "x". // Теперь я использую кнопки вместо этой части.

Большое спасибо! :)

  • Приложение Windows Form

Ответы [ 3 ]

3 голосов
/ 02 июля 2010

Вот "ОДИН" способ ... он обнаруживает Enter нажатие в .NET Win Forms.13 представляет «Enter».

   Public Function KeyAscii(ByVal UserKeyArgument As KeyPressEventArgs) As Short
        KeyAscii = Asc(UserKeyArgument.KeyChar)
    End Function

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If KeyAscii(e) = 13 Then
            MsgBox("you press ENTER key")
        End If
    End Sub

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

Private Sub Form_KeyPress(KeyAscii As Integer)
    Debug.Print "KeyAscii: " & KeyAscii
End Sub

Private Sub Form_Load()
    Form1.KeyPreview = True
End Sub 
1 голос
/ 16 декабря 2012

Я думаю, что функция SendKey будет соответствовать вашим потребностям.

0 голосов
/ 02 июля 2010

а) Для отправки команд клавиатуры вы можете использовать этот метод SendKeys .
б) Для захвата нажатий клавиш прочитайте эту статью поддержки .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...