0

教育プログラムを書いています。ユーザーがEnterキーを押したときに「クリック」したいボタンがあります。フォームの承認ボタン プロパティを true に設定し、KeyPreview プロパティも true に設定しました。AcceptButton 機能を複製するカスタム サブを作成しようとしましたが、これも機能しません。サブは、Enter キーが押されたとき以外のすべてのキーで実行されます。

    Private Sub TextBoxAnswer_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBoxAnswer.KeyDown
        If e.KeyCode = System.Windows.Forms.Keys.Enter Then
            CheckQ()
        End If
     End Sub

過去 3 日間、答えを探して、見つけたすべてのことを Google で試しました。また、textboxMultiLineプロパティを true に設定しようとしましたが、Enter キーを押しても新しい行が作成されません。これを明確にするために、Multilineプロパティを false に戻す必要があります。

4

1 に答える 1

0

プロパティは、ブール値ではなく、Enter キーが押されたときに「クリック」するボタンに設定するAcceptButton必要があります。Me.AcceptButton = buttonSubmit

KeyPreview プロパティの設定に合わせてフォームの Keydown イベントのハンドラを追加しましたか?

Private Sub form1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles form1.KeyDown
    If e.KeyCode = System.Windows.Forms.Keys.Enter Then
        CheckQ()
        e.Handled = true
    End If
 End Sub

テキストボックスのキーダウンイベント用に記述したコードも同様に機能するはずです。テストアプリで試してみましたが、問題はありませんでした。CheckQ() メソッド呼び出しにブレークポイントを配置すると、ブレークポイントにヒットしますか?

これらの方法のいずれかが、あなたがしようとしていることを達成するはずです。

于 2013-09-07T12:26:56.310 に答える