读书人

新人开贴第一问 VB-箭头方向键如何不好

发布时间: 2013-06-26 14:29:32 作者: rapoo

新人开贴第一问 VB-箭头方向键怎么不好用
本人刚接触VB,请大家指点。

form1的新人开贴第一问 VB-箭头方向键如何不好用已打开
代码如下:
新人开贴第一问 VB-箭头方向键如何不好用
运行的时候按键盘上的左箭头没有反应
我又把37换成100后运行,按小键盘上的4键程序正常执行。
不明白为什么方向键不好用?如何改代码才能让其用方向键一样可以正常执行?
[解决办法]
随手做个测试, 新建工程,窗体代码如下:


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Me.Caption = KeyCode
End Sub


[解决办法]
引用:
Quote: 引用:

随手做个测试, 新建工程,窗体代码如下:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Me.Caption = KeyCode
End Sub

谢谢指点。
不过我是想在form里面建一个command,然后用键盘上的方向键来移动。


原因未知, Command控件可以响应其他按键,方向键无效.
不过可以用其他控件替代Command, 比如Picture控件, Command能做的它都能做.
[解决办法]
系统缺省地将箭头键的功能用于控制之间的跳转。

如果你想重新设定箭头键的作用,需要用钩子抓,或者将焦点限定在 TextBox 等编辑控件中。

[解决办法]
一个偷懒的绕过方法,是采用小键盘上的2,4,6,8键。

[解决办法]
上次也有人问过
大意是定义了4个按键的同时想按4个方向键也能操作

我的答案如下:

在Form里添加一个Text作为截取方向键的容器
因为不能设置隐藏只好将其移出Form显示范围之外并将其TabIndex设为0
当点击按钮后将焦点转回Text

下段程序已测试通过:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
Label1.Caption = "UP"
Case vbKeyDown
Label1.Caption = "Down"
Case vbKeyLeft
Label1.Caption = "Left"
Case vbKeyRight
Label1.Caption = "Right"
Case Else
End Select
End Sub

Private Sub Cmd_Up_Click()
Label1.Caption = "UP"
Text1.SetFocus
End Sub

Private Sub Cmd_Down_Click()
Label1.Caption = "Down"
Text1.SetFocus
End Sub

Private Sub Cmd_Left_Click()
Label1.Caption = "Left"
Text1.SetFocus
End Sub

Private Sub Cmd_Right_Click()
Label1.Caption = "Right"
Text1.SetFocus
End Sub

[解决办法]
引用:
Quote: 引用:

Quote: 引用:


Quote: 引用:

随手做个测试, 新建工程,窗体代码如下:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Me.Caption = KeyCode
End Sub

谢谢指点。
不过我是想在form里面建一个command,然后用键盘上的方向键来移动。


原因未知, Command控件可以响应其他按键,方向键无效.
不过可以用其他控件替代Command, 比如Picture控件, Command能做的它都能做.

Picture和image都试过了 问题依旧 烦屎了


我测试了picture控件, 可以响应方向键.
[解决办法]
与 Picture 作为容器的状态有关。如果 Picture 内部有控件,方向键的功能依然被定义为控件之间的跳转。

读书人网 >VB

热点推荐