我想请问VB中,双击鼠标事件必定会导致单击事件,那么怎么解决这个问题呢?

[复制链接]
查看11 | 回复3 | 2021-1-27 06:15:39 | 显示全部楼层 |阅读模式
同上。
PrivateSubForm_Click()
Form1.Width=Form1.Width+1000
EndSub
PrivateSubForm_DblClick()
UnloadMe
EndSub
PrivateSubForm_Load()
Form1.BackColor=RGB(255,255,0)
EndSub
PrivateSubForm_Unload(CancelAsInteger)
a=MsgBox("是否要卸载该窗体",vbYesNo,"信息提示")
Ifa=7Then
Cancel=2
EndIf
EndSub

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:15:39 | 显示全部楼层
所以,这就是你的设计思路有问题咯.双击必然导致单击,因为它本来就是两个连续的单机呀.
解决方法:可以通过右键单击来实现你原本左键单击的功能
你可以通过mousedown事件中的button参数来判断按下的键是左键还是右键.
回复

使用道具 举报

千问 | 2021-1-27 06:15:39 | 显示全部楼层
单击就是点一下触发。双击肯定会触发的啊,这两个只能选择其一。设计的问题。
如果任性非要这样倒是有个办法。通常双击间隔是500ms。你在click后停个600ms,看看有没有双击发生,没有的话就执行单击的过程,有的话就无视掉click的,去执行双击事件里的过程。
回复

使用道具 举报

千问 | 2021-1-27 06:15:39 | 显示全部楼层
DimisDblClickAsBoolean
PrivateSubForm_Click()
isDblClick=False
DimlngFinishAsLong
lngFinish=Timer+0.6
DoWhileTimer
每个电脑的双击速度不一样,通常的话上面代码就可以用了。否则得自己调整。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行