以下のコードは正常に動作します。唯一の問題は、TOP画像が表示された後、マウスホイール/キーアップを使用できないことです。キーボードバッファをいっぱいにします。その後、ホイール/キーダウンを使用するためにしばらく待たなければなりません。また、ホイール/キーダウン後の画像は最後の画像を超えています。それは最初の画像で停止するような最後の画像で停止する必要があります。 Geek On Demandのコード提供。マウスホイールと上向きのキーを使用してイメージリスト内の画像をナビゲートします
ハンドルMyBase.Load PictureBox1.Image = ImageList1.Images.Item(increaseCount(カウント)) End Subのます。Private Sub Images_Load(System.Objectの、System.EventArgsとしてByVal電子としてByVal送信者)
Private Sub Images_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseWheel
Try
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
Catch ex As Exception
End Try
End Sub
Private Sub Images_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Try
If e.KeyCode = Keys.Down Then
PictureBox1.Image = ImageList1.Images.Item(increaseCount(count))
End If
Catch ex As Exception
End Try
End Sub
Private Sub Images_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
Try
If e.KeyCode = Keys.Up Then
PictureBox1.Image = ImageList1.Images.Item(decreaseCount(count))
End If
Catch ex As Exception
End Try
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 Function
Private Function decreaseCount(ByRef count As Integer) As Integer
count -= 1
If count - 1 > ImageList1.Images.Count Then
count = 0
End If
Return count
End Function
、基本的には何もまたはEnd Subのは、第1の画像の最後に追加する必要があります。 – Farook