我正在尝试制作一个基本的计算器,并且我的按钮带有数字 0-9 和所有数学符号。我想将我的键盘(小键盘)按钮链接到它们,我做了一些搜索并看到了一些带有“if”语句的示例。是否可以通过选择案例来做到这一点?哪个 Key 事件最适合处理键盘输入?KeyUp、KeyDown 还是 KeyPress?KeyPress 给了我'=' 不是有效运算符的错误。
问问题
5155 次
2 回答
1
这当然是可能的Select Case
。
最好的按键事件可能是KeyDown
,因此一旦用户按下按键,就会点击该按钮。(如果您使用KeyUp
,那么它将等待他们释放密钥,这可能不是他们所期望的。)
这可能看起来如何的一个示例:
Private Sub Form1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyCode
Case Keys.NumPad1
Button1.PerformClick()
Case Keys.NumPad2
Button2.PerformClick()
Case Keys.NumPad3
Button3.PerformClick()
'Continue adding other keys here'
End Select
End Sub
您需要更改按钮的名称以匹配您的代码。
您可能还需要将表单的KeyPreview
属性设置为True
以便KeyDown
引发事件。(您可以在设计器中执行此操作)
于 2013-08-30T20:28:14.167 回答
0
确保在表单的属性中设置了 KeyPreview。
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.NumPad0
btn0.PerformClick()
Case Keys.NumPad1
btn1.PerformClick()
Case Keys.NumPad2
btn2.PerformClick()
Case Keys.NumPad3
btn3.PerformClick()
Case Keys.NumPad4
btn4.PerformClick()
Case Keys.NumPad5
btn5.PerformClick()
Case Keys.NumPad6
btn6.PerformClick()
Case Keys.NumPad7
btn7.PerformClick()
Case Keys.NumPad8
btn8.PerformClick()
Case Keys.NumPad9
btn9.PerformClick()
End Select
End Sub
于 2013-08-31T02:54:09.973 回答