Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 带选择框的键盘输入_Vb.net_Keyboard - Fatal编程技术网

Vb.net 带选择框的键盘输入

Vb.net 带选择框的键盘输入,vb.net,keyboard,Vb.net,Keyboard,我正在尝试做一个基本的计算器,我的按钮上有数字0-9和所有的数学符号。我想将我的键盘(numpad)按钮链接到它们,我做了一些搜索,看到了一些带有“if”语句的示例。 有没有可能通过一个特定的案例来实现这一点? 哪个按键事件最适合处理键盘输入?上键、下键还是按键? 按键告诉我“=”不是有效运算符的错误。这当然可以通过选择大小写 这方面的最佳按键事件可能是KeyDown,因此用户一按下按键就会单击该按钮。(如果您使用KeyUp,则会等待他们释放密钥,这可能不是他们所期望的。) 下面是一个可能的示例

我正在尝试做一个基本的计算器,我的按钮上有数字0-9和所有的数学符号。我想将我的键盘(numpad)按钮链接到它们,我做了一些搜索,看到了一些带有“if”语句的示例。 有没有可能通过一个特定的案例来实现这一点? 哪个按键事件最适合处理键盘输入?上键、下键还是按键?
按键告诉我“=”不是有效运算符的错误。

这当然可以通过
选择大小写

这方面的最佳按键事件可能是
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
事件。(您可以在设计器中执行此操作)

确保在表单的属性中设置了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

我可以立即调用“Button1\u Click”事件吗?还是使用Button1.PerformClick()更好?
PerformClick()更好!您应该使用
PerformClick()
,因为
Button1\u Click
的参数“sender”和“e”与
Form1\u KeyDown
的参数不同。