正如您所看到的,下面给出的代码不是很有用。是否可以缩短代码。鼠标滚轮向后和向前给出相同的结果(下图)。无法配置 Keydown。
Private Sub Images_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
count += 1
If count + 1 > ImageList1.Images.Count Then
count = 0
End If
PictureBox1.Image = ImageList1.Images.Item(count)
End Sub
Private Sub Images_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseWheel
count += 1
If count + 1 > ImageList1.Images.Count Then
count = 0
End If
PictureBox1.Image = ImageList1.Images.Item(count)
End Sub
Private Sub Images_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Down Then
count += 1
If count + 1 > ImageList1.Images.Count Then
count = 0
End If
PictureBox1.Image = ImageList1.Images.Item(count)
End If
End Sub
这是一种缩短它的方法,只需使用函数即可:
Private Sub Images_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = ImageList1.Images.Item(increaseCount(count))
End Sub
Private Sub Images_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseWheel
If e.Delta > 0 Then
PictureBox1.Image = ImageList1.Images.Item(decreaseCount(count))
ElseIf e.Delta < 0 Then
PictureBox1.Image = ImageList1.Images.Item(increaseCount(count))
End If
End Sub
Private Sub Images_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Down Then
PictureBox1.Image = ImageList1.Images.Item(increaseCount(count))
End If
End Sub
Private Function increaseCount(ByRef count as integer) As Integer
count += 1
If count + 1 > ImageList1.Images.Count Then
count = 0
End If
Return count
End Sub
Private Function decreaseCount(ByRef count as integer) As Integer
count -= 1
If count - 1 > ImageList1.Images.Count OR count < 0 Then
count = 0
End If
Return count
End Sub
e.Delta 是您滚动的距离,这取决于控制面板中有关鼠标滚轮滚动的选项。因此,我们无法确定这些值是什么,但好处是向上滚动始终为正,向下滚动始终为负。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)