0

我正在编写一个教育程序。我有一个按钮,当用户按下回车键时,我希望它被“点击” 。我已将表单的接受按钮属性设置为 true,并且 KeyPreview 属性也设置为 true。我已经尝试创建一个自定义 Sub 来复制 AcceptButton 功能,这也不起作用,除了按下 enter 键之外,sub 在所有键上运行。

    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 天里,我一直在寻找答案,并在谷歌上尝试了所有我能找到的东西。我也刚刚尝试将 textboxMultiLine属性设置为 true 并且 enter 键甚至没有创建新行,只是为了澄清我已经将Multiline属性设置回 false 现在应该是。

4

1 回答 1

0

AcceptButton属性应设置为 = 按下回车时要“单击”的按钮,而不是布尔值。Me.AcceptButton = buttonSubmit

您是否为表单的 Keydown 事件添加了一个处理程序来设置 KeyPreview 属性?

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

您为文本框 keydown 事件编写的代码也应该可以正常工作。我在测试应用程序中尝试过,没有任何问题。如果将断点放在 CheckQ() 方法调用上,是否会遇到断点?

这些方法中的任何一种都应该完成您正在尝试做的事情。

于 2013-09-07T12:26:56.310 回答