0

Visual Basic 2010 Express では、最初は keyDown イベントを使用して矢印を使用してピクチャボックスを制御していましたが、ctrl + 矢印キーを押したときにのみ発生しました。オンラインで見つけた解決策は、previewKeyDown イベントを使用することでした。これは一度だけ発火し、その後はキーを押してもまったく反応しません。KeyPreview は true に設定されています。

  Private Sub Form1_PreviewKeyDown(ByVal sender As System.Object, ByVal e As    System.Windows.Forms.PreviewKeyDownEventArgs) Handles MyBase.PreviewKeyDown
    Select Case e.KeyCode
        Case Keys.Up
            vy = vy - 2
        Case Keys.Left
            vx = vx - 2
        Case Keys.Right
            vx = vx + 2
    End Select
  End Sub
4

2 に答える 2

0

変化する

Private Sub Form1_PreviewKeyDown(ByVal sender As System.Object, ByVal e As    System.Windows.Forms.PreviewKeyDownEventArgs) Handles MyBase.PreviewKeyDown

Private Sub Form1_PreviewKeyDown(ByVal sender As System.Object, ByVal e As    System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown

また、追加してみてくださいe.Handled=True

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    Select Case e.KeyCode
        Case Keys.Up
            vy = vy - 2
            e.Handled = True
        Case Keys.Left
            vx = vx - 2
            e.Handled = True
        Case Keys.Right
            vx = vx + 2
            e.Handled = True
    End Select
End Sub
于 2013-07-08T04:41:23.873 に答える
-1

次のようKeyDownに、の代わりに、を使用してみてください。PreviewKeyDown

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    Select Case e.KeyCode
        Case Keys.Up
            vy = vy - 2 
        Case Keys.Left
            vx = vx - 2
        Case Keys.Right
            vx = vx + 2                       
    End Select
End Sub
于 2013-07-08T04:42:06.260 に答える