多个控件执行同一个鼠标滚动程序,可能会被执行多次,如何实现只执行一次操作?

       一个窗体内有1个GroupBox(fraSld),多个PictureBox(Image1~16)和1个Label(lblFileName),它们嵌套或叠加在一起.鼠标在以上控件区域内滚动(执行MouseWheel事件),需要执行一次翻页操作,但是由于叠加或者嵌套在一起,实际可能会被执行1~3次.

        为了达到只执行一次翻页,使用时间间隔来判断,如果间隔不够则不进行实际操作.代码如下:

 Private Sub Image1_MouseWheel(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Image1.MouseWheel, lblFileName.MouseWheel, fraSld.MouseWheel
        Dim TMStar As Double
        Static TMEnd As Double
        Dim TMInterval As Double
        TMStar = Now.Ticks '当前时间
        TMInterval = TMStar - TMEnd '离上次执行完后的间隔时间

        If TMInterval > 100 Then '间隔时间太短的话不执行
            If e.Delta < -100 Then '鼠标滚动值120
                _GoForward
            ElseIf e.Delta > 100 Then
                _GoBackward
            End If
        End If

        TMEnd = Now.Ticks
    End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值