一个窗体内有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