通过在vb中输入键禁用按钮选择

时间:2013-11-25 18:36:04

标签: vb.net keyboard arrow-keys

我设计了一个计算器。基本上我有一个标签,一些按钮包括btn0 ........ btn9等,btnequals。现在,当我点击btn0 ... btn1时,它将数字输入标签。但我想使用键盘而不是鼠标。当我将表格键预览属性设置为true并使用下面的代码时一切正常但是当你使用时箭头键移动所选按钮,然后当我按下Enter键时按下选中的按钮。

此问题的标准:

1)无法使用文本框而不是标签。

其中一个解决方案可以帮助我......

1)完全禁用回车键。它应该像键盘上的死键一样。

2)即使移动了箭头键,也禁用程序选择按钮。

3)以这样的方式编程:只有当我按下回车键时才应该单击等于按钮。

请帮我摆脱这个问题。并提前感谢。

我使用的代码是:

  

Private Sub Form1_KeyPress(ByVal sender As Object,ByVal e As   System.Windows.Forms.KeyPressEventArgs)处理Me.KeyPress

    If e.KeyChar = "0" Then
        Btn0.PerformClick()
    ElseIf e.KeyChar = "1" Then
        Btn1.PerformClick()
    ElseIf e.KeyChar = "2" Then
        Btn2.PerformClick()
    ElseIf e.KeyChar = "3" Then
        Btn3.PerformClick()
    ElseIf e.KeyChar = "4" Then
        Btn4.PerformClick()
    ElseIf e.KeyChar = "5" Then
        Btn5.PerformClick()
    ElseIf e.KeyChar = "6" Then
        Btn6.PerformClick()
    ElseIf e.KeyChar = "7" Then
        Btn7.PerformClick()
    ElseIf e.KeyChar = "8" Then
        Btn8.PerformClick()
    ElseIf e.KeyChar = "9" Then
        Btn9.PerformClick()
    Else
        'Donothing Just Ignore
    End If
End Sub

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我最近遇到了这个问题,我提出的解决方案快速而简单。 每次按下按钮后,只需将焦点移动到标签上即可! 例如,这样做:

Private Sub Btn0_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    'Do stuff
    Label1.Focus()
End Sub

这会将标签聚焦,这意味着该按钮将 de - 聚焦,这意味着当您按下会被点击。祝你好运!