VB鼠标事件问题

窗体代码如下:OptionExplicitPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingl... 窗体代码如下:
Option Explicit

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print "Down=" & Button
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print " UP=" & Button
End Sub

'程序运行后,在窗体上快速连续点击鼠标,在调试窗体中输出的结果如下:
Down=1
UP=1
UP=1
Down=1
UP=1
UP=1
Down=1
UP=1
UP=1
Down=1
UP=1
…………

按理说应该是Down->UP->Down->UP循环,但VB中的Down事件如果鼠标快速点击的话每隔一次会被丢失一次,两次点击间隔时间长时不会出现。这是什么原因,如何解决(最好不要用HOOK)
先上20分,完善解决者再加高分。
请大家说明一下怎么解决。因为我必须得到每一次的按下和弹起事件。如果仅仅说明一下是VB造成的,那等于没说。
展开
 我来答
PAL神仙
2008-05-17 · TA获得超过461个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:226万
展开全部
告诉一个偏方,用API的GetCursorPos和SetCursorPos,原理很简单,鼠标双击必需要在同一个地方点击两次,你可以用上面的API,当鼠标抬起的时候,让鼠标位置移动一个坐标,下一次再移回来!这样就不会触发双击事件了!

另外,鼠标双击事件是由两次Down和一次UP组成!!
lxz1969
2008-05-17 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.1亿
展开全部
快速连续单击,其实就是由许多双击组成,而双击就是由一次Down和两次Up事件组成的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0871love
2008-05-16 · TA获得超过3518个赞
知道大有可为答主
回答量:1418
采纳率:50%
帮助的人:1608万
展开全部
这个很简单,因为系统有DBclick事件,鼠标双击事件
对于快速点击,只有一个Down发生,2个UP发生,这实际就行成了一个鼠标双击事件,如果跟你说的一样,是d->u->d->u这样的话,又如何区分两次单击与双击呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式