1.定义变量记录键是否被按下,按下的累计时间
创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为阿拉善盟企业提供专业的成都做网站、成都网站设计、成都外贸网站建设,阿拉善盟网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
Dim 按下A键 As Boolean
Dim 按下A键时间 As Integer
2.添加一个TextBox1用于接收键盘事件,或者直接用窗体的键盘事件(确保KeyPreview为True)
在KeyDown事件中添加如下代码:
If e.Keycode = keys.A Then 按下A键 = True
在KeyUp事件中添加如下代码:
If e.Keycode = keys.A Then 按下A键 = False
3.添加一个Timer1控件,调整Timer1的Interval来决定按键频率,记得要把Timer1.Enable开启
在Tick事件中添加如下代码:
If 按下A键 = True
按下A键时间+=1
Call 音量设置(按下A键时间 * 10)
End If
PS: 按下的秒数 = 按下A键时间*Timer1.Interval / 1000
长按你可以用计时器来实现啊,写个例子:
Private blCtrl As Boolean = False
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.LControlKey Then blCtrl = True
End Sub
Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
If e.KeyCode = Keys.LControlKey Then blCtrl = False
End Sub
然后你可以在计时器里检测blCtrl的状态来确定,不知道你的具体情况是什么样的
总之是用一个布尔变量来记录按键状态,配合计时器来达到你想要的功能
1、将窗口的KeyPreview属性设置为True
Me.KeyPreview = True
2、处理窗口的KeyDown事件
Sub MainFormKeyDown(sender As Object, e As KeyEventArgs)
Select Case e.KeyCode
Case Keys.Escape
Me.button1.PerformClick
Case Keys.Enter
Me.button2.PerformClick
End Select
End Sub
执行键盘事件方法如下:
第一步,点击VS工具。
第二步,打开后,新建一个Windows窗体应用程序。
第三步,请看右下方Form的属性栏。
第四步,双击KeyDown。
第五步,输入提示按键代码,如图所示。
第六步,再次输入代码,设置属性KeyPreview为true。
第七步,运行程序,按下举例F5,则会弹出提示,表明已经成功获。