0

VB が常にキープレスをチェックするようにするにはどうすればよいですか?
ステップバイステップのデバッグ時にキープレスが検出されますが、それだけです:(
これまでのキープレスコードは次のとおりです。

Private Sub Form_Main_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
    'Keypress Q, A, or Z if the picture is seen for the first time
    'Otherwise one accuracy point is deducted
    If e.KeyChar = Chr(97) Then 'key a
        If PictureBox.Visible = True Then
            If MainArray(X) = 1 Then
                Timer_End = TimeOfDay.Millisecond
                PictureBox.Image.Dispose()
                PictureBox.Image = Nothing
                PictureBox.Visible = False
                Accuracy = Accuracy + 1
                CalcTime()
            Else
                Timer_End = TimeOfDay.Millisecond
                PictureBox.Image.Dispose()
                PictureBox.Image = Nothing
                PictureBox.Visible = False
                Accuracy = Accuracy - 1
                CalcTime()
            End If
        End If
    End If

    'Keypress for second occurance
    If e.KeyChar = Chr(108) Then 'key l
        If PictureBox.Visible = True Then
            If MainArray(X) = 2 Then
                Timer_End = TimeOfDay.Millisecond
                PictureBox.Image.Dispose()
                PictureBox.Image = Nothing
                PictureBox.Visible = False
                Accuracy = Accuracy + 1
                CalcTime()
            Else
                Timer_End = TimeOfDay.Millisecond
                PictureBox.Image.Dispose()
                PictureBox.Image = Nothing
                PictureBox.Visible = False
                Accuracy = Accuracy - 1
                CalcTime()
            End If
        End If
    End If
End Sub

これをコードに追加しようとしましたが、役に立ちませんでした:

    Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
    Do While PictureBox.Visible = True
        Application.DoEvents()
    Loop
    End Sub
4

2 に答える 2

0

Form.KeyPress は、キーが押されるたびに発生する必要があります。デバッグ中かどうかに関係なく、イベントハンドラを呼び出す必要があります。おそらく呼び出されていますが、期待どおりに動作していませんか? イベント ハンドラーが呼び出されていることを確認するために、いくつかのデバッグ出力ステートメントを入れてみてください。

于 2009-05-22T18:14:36.950 に答える