VB怎样用键盘控制事件?
1个回答
推荐于2018-04-21
展开全部
你的图片在哪里.在一个控件里吗?如果图片在一个控件里,直接移动控件就行啦.移动控件会吧,如果我要移动一个Image1到窗体的左上角.那就这样:
Image1.Move 0,0
0,0是Image1的Left和Top.至于用键盘的方向键来控制,可以这样:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 37 Then Image1.Move Image1.Left - 10, Image1.Top '左由于只向左移,TOP不变,所以也可以这样(Image1.Left=Image1.Left - 10)直接减小LEFT就行了.下面也一样.
If KeyCode = 38 Then Image1.Move Image1.Left, Image1.Top - 10 '上
If KeyCode = 39 Then Image1.Move Image1.Left + 10, Image1.Top '右
If KeyCode = 40 Then Image1.Move Image1.Left, Image1.Top + 10 '下
End Sub
Private Sub Form_Load()
Form1.KeyPreview = True '激活Form1上的控件的键盘事件之前,优先激活Form1键盘事件。
End Sub
是ASCII吧.我也不知它叫什么码.我就叫它KEYCODE.当你按下键盘任意一个键,KEYCODE就等于一个整数.
反正按下键盘方向键的左键,KEYCODE就等于37;上就是38.....
你可以这样得到每个键的KEYCODE:
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Text1 = KeyCode
End Sub
Image1.Move 0,0
0,0是Image1的Left和Top.至于用键盘的方向键来控制,可以这样:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 37 Then Image1.Move Image1.Left - 10, Image1.Top '左由于只向左移,TOP不变,所以也可以这样(Image1.Left=Image1.Left - 10)直接减小LEFT就行了.下面也一样.
If KeyCode = 38 Then Image1.Move Image1.Left, Image1.Top - 10 '上
If KeyCode = 39 Then Image1.Move Image1.Left + 10, Image1.Top '右
If KeyCode = 40 Then Image1.Move Image1.Left, Image1.Top + 10 '下
End Sub
Private Sub Form_Load()
Form1.KeyPreview = True '激活Form1上的控件的键盘事件之前,优先激活Form1键盘事件。
End Sub
是ASCII吧.我也不知它叫什么码.我就叫它KEYCODE.当你按下键盘任意一个键,KEYCODE就等于一个整数.
反正按下键盘方向键的左键,KEYCODE就等于37;上就是38.....
你可以这样得到每个键的KEYCODE:
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Text1 = KeyCode
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询