vb判断按键被快速的按下了两次?

就像“双击”某个按键一样,怎么让vb知道是否发生了“双击”按键的事件呢?请高手帮助,谢谢!... 就像“双击”某个按键一样,怎么让vb知道是否发生了“双击”按键的事件呢?请高手帮助,谢谢! 展开
 我来答
smh1982
2009-10-23 · TA获得超过843个赞
知道小有建树答主
回答量:1578
采纳率:0%
帮助的人:890万
展开全部
原理:判断2次按键的时间差。
但是由于系统提供的时间不支持到毫秒,所以用了API函数来读取。

Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Const 时间间隔 As Long = 500 '毫秒
Dim TW As SYSTEMTIME

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Static 上次时间 As Long
Static 上次按键 As Integer

'读当前时间
Call GetLocalTime(TW)
'判断时差
If TW.wSecond * 1000& + TW.wMilliseconds - 上次时间 < 时间间隔 And KeyCode = 上次按键 Then
MsgBox "按了2下!!"
End If
上次时间 = TW.wSecond * 1000& + TW.wMilliseconds
上次按键 = KeyCode
End Sub
wqlk1
2009-10-23 · TA获得超过1152个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:354万
展开全部
单击某按键后记录时间,如果在一定时间(比如500ms)内再次单击相同按键,则将两次单击的时间计算出,如果间隔时间小于500ms则判断为“双击”按键事件。 需要使用精确计时的api。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzjlyd
2009-10-23 · 超过11用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:0
展开全部
double click()函数就可以识别是双击
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1360384
2009-10-23 · TA获得超过1213个赞
知道小有建树答主
回答量:1425
采纳率:0%
帮助的人:522万
展开全部
smh1982 - 初级经理 七级——不错哦!学习啦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式