我设计了一个计算器。基本上我有一个标签,一些按钮包括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
答案 0 :(得分:2)
而不是:
Else
'Donothing Just Ignore
End If
使用
Else
e.handled = true
End If
答案 1 :(得分:1)
我最近遇到了这个问题,我提出的解决方案快速而简单。 每次按下按钮后,只需将焦点移动到标签上即可! 例如,这样做:
Private Sub Btn0_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'Do stuff
Label1.Focus()
End Sub
这会将标签聚焦,这意味着该按钮将 de - 聚焦,这意味着当您按下时不会被点击。祝你好运!