VB键盘控制无响应 - 爱问答

(爱问答)

VB键盘控制无响应

代码:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 87 And Timer2.Enabled = True Then

Label1.Top = Label1.Top - 150

End If

If KeyCode = 83 And Timer2.Enabled = True Then

Label1.Top = Label1.Top + 150

End If

If KeyCode = 65 And Timer2.Enabled = True Then

Label1.Left = Label1.Left - 150

End If

If KeyCode = 68 And Timer2.Enabled = True Then

Label1.Left = Label1.Left + 150

End If

If Label1.Top = Label10.Top Then

MsgBox "你赢了!"

Label2.Caption = "你赢了!"

Timer2.Enabled = False

End If

End Sub

不响应的原因可能是窗体未获得焦点。可能是窗体上设置了CommandButton按钮的原因,假如窗体上添加了Command1、Command2二个按钮,将其Enabled设为False,这样就可以截获键盘的代码了。参考如下:

Private Sub Command1_Click()

    Timer2.Interval = 1000

    Timer2.Enabled = True

    Command1.Enabled = False

    Command2.Enabled = False

End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

    If Timer2.Enabled = False Then Exit Sub

    'A、D、S、W不分大小写

    If KeyCode = 87 Or KeyCode = 119 Then

        Label1.Top = Label1.Top - 150

    End If

    If KeyCode = 83 Or KeyCode = 115 Then

        Label1.Top = Label1.Top + 150

    End If

    If KeyCode = 65 Or KeyCode = 97 Then

        Label1.Left = Label1.Left - 150

    End If

    If KeyCode = 68 Or KeyCode = 100 Then

        Label1.Left = Label1.Left + 150

    End If

    If Label1.Top = Label10.Top Then

        MsgBox "你赢了!"

        Label2.Caption = "你赢了!"

        Timer2.Enabled = False

        Command1.Enabled = True

        Command2.Enabled = True

    End If

End Sub


你设置Form的KeyPreview为True后在试试。

相关标签:控制

下一篇:武汉美斯坦福信息技术有限公司怎么样

上一篇:鼠标点在哪里就会出现该点的数据信息怎么编程

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?