问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-22 20:56

我来回答

4个回答

懂视网 时间:2022-04-23 01:17

这次给大家带来解决双击与单击事件互相冲突,解决双击与单击事件互相冲突的注意事项有哪些,下面就是实战案例,一起来看一下。

在JS中代码中同一功能块中通常同时会用到单击、双击事件,但通常会遇到一个问题,就是在双击的时候即执行了一次双击事件,而且还执行了两次单击事件。此类冲突在ZTree、DHTMLX中经常遇到。

想要解决两个事件冲突,需要对单击事件进行延时,如果在此延时中又监测到单击事件,那么认为此两次单击属于一个双击事件,则只执行双击事件,并第一时间将延时定时器清理,以防止第二次单击生效。

具体代码如下:

var clickFlag = null;//是否点击标识(定时器编号)
function doOnClick(...) {
 if(clickFlag) {//取消上次延时未执行的方法
 clickFlag = clearTimeout(clickFlag);
 }
 
 clickFlag = setTimeout(function() {
 // click 事件的处理
 }, 300);//延时300毫秒执行
}
function doOnDblClick(...) {
 if(clickFlag) {//取消上次延时未执行的方法
 clickFlag = clearTimeout(clickFlag);
 }
 
 // dblclick 事件的处理
}

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

使用select组件案例详解

封装Vue2路由导航钩子并在实战中使用

热心网友 时间:2022-04-22 22:25

你那个恐怕不好实现、
但是我想也没有什么程序一定需要设定单击和双击的不同动作吧?
比如windows中,单击文件是选中,双击是打开。但是双击的时候其实也是先选中了。
所以你的程序中最好两个事件的代码不是互相排斥的。
另外下面的代码可以供你参考
'本代码演示如何获取鼠标按下和放开的间隔时间
Private Declare Function GetDoubleClickTime Lib "user32" () As Long
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

Dim T1 As SYSTEMTIME
Dim T2 As SYSTEMTIME

Private Sub Form_Load()
'显示系统中设定的判定双击的时间间隔
MsgBox ("判定双击的时间间隔=" & GetDoubleClickTime)
End Sub

Private Sub form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
GetLocalTime T1
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
GetLocalTime T2
MsgBox ("你按下和放开鼠标的时间间隔为" & CalcSJC)
End Sub

Private Function CalcSJC() As Integer
Dim a As Double
b = Val(T1.wSecond)
a = Val(T1.wSecond) * 1000 + Val(T1.wMilliseconds)

If Val(T2.wSecond) < b Then
c = (Val(T2.wSecond) + 60) * 1000 + Val(T2.wMilliseconds)
Else
c = Val(T2.wSecond) * 1000 + Val(T2.wMilliseconds)
End If
shijiancha = c - a
CalcSJC = shijiancha
End Function

热心网友 时间:2022-04-22 23:43

你的动作是单击还是双击是系统定义的,去控制面板看一下,鼠标有一项设置叫双击时间间隔,他决定了你两次单击是不是双击。
从编程的角度,你编写的程序的窗口收到的双击的消息是来自系统的,在用户两次单击时,如果系统检测到两次的时间间隔小于上面设定的那个值,就当成是双击,如果不是的话,就是两次单击。

热心网友 时间:2022-04-23 01:18

不会的吧?是不是你双击间隔太长了?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
信息系统集成资质几级最高 计算机信息系统集成企业资质等级评定条件计算机信息系统集成企业资质等 ... 计算机信息系统集成企业资质等级评定条件实施细则一级资质 win10电脑密码错误win10开机密码错误 windows怎么更换密码错误 电脑没设置密码老是显示密码不正确电脑密码一直显示输入不正确 我把苹果手机系统 。 一更新 。 卡着了 。 然后就这样了 。 这出现... 我iphone想更新到9,是直接在手机按的更新,但是中途变成了这样 为什么有时早上4点多觉胸一下感觉很累的像给人吓一跳似 睡觉醒来时觉得胸部难受有点累是怎么回事 怎么用电脑注册 怎样在电脑上注册 怎么在电脑上注册 在电脑上怎么注册 用电脑怎么申请? 用电脑如何申请 总是梦见蛇怎么回事 电脑注册怎么注册 电脑微信怎么注册新的 总是梦见蛇 电脑微信怎么注册新的 总是梦见蛇是怎么回事 怎么用电脑注册 怎样在电脑上申请 电脑怎么注册 没有零线三相潜水泵可怎样装水位控制器? VB上触发双击事件时会先发生一次单击事件然后再出现双击事件,调了鼠标双击时间依旧没用,怎么处理? 如何卸载 rpm 包 股票挂单卖出没有成功,会自动被撤下来吗? 餐后一小时血糖到底有没有意义呢? 培训用的触摸一体机多大尺寸合适 50平米左右的会议室适合多大尺寸的会议触摸一体机 触摸屏和触摸一体机有区别吗,两个的性质是一样的吗?哪家公司生产一体机好点,专业生产厂家 朋友圈被小米圈铁耳机pro刷屏了,那耳机究竟哪里好? 深圳诚行天下液晶触摸查询一体机多少钱?? 卖一台7000元的触摸教学一体机提成多少 小米圈铁耳机pro滤网是铁的吗 营业执照丢了也不注销会有什么后果 营业执照不见了,会有什么麻烦吗 买车办理的个体营业执照丢了有风险吗 营业执照正版丢失了,不注销有什么影响? 公司营业执照丢了咋办 非本地户口不能贷款买房了吗 你好,你是哪里的证券公司,在你们那里买etf基金最低要多少手续费? 买房子不是本地户口贷款需要本地人担保? 为什么智能电视无法收看本地电视台? 保证金由他人代付后代付人以款要回怎么办? 任何一种熏香对任何一个人都有助眠作用吗? 银行借贷不还被起诉了该怎么办 老公欠了网贷没钱还,如果银行起诉,*会冻结我的银行卡及我个人名下房产吗?他借款是在我不知情情况下