2012-01-17 4 views
0

以下のコードは正常に動作します。唯一の問題は、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 
+0

、基本的には何もまたはEnd Subのは、第1の画像の最後に追加する必要があります。 – Farook

答えて

0

あなたのように減少カウント機能を変更することができます。

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 Function 
+0

完全に動作し、ナビゲーションがはるかに円滑になります。あなたがもう1つの問題を続けることに興味があるなら、私はそれを記述することができます。そうでなければ、画像を追加する新しい問題を投稿します。 UPメソッドでは、最初の画像に到達するとそこで停止します。しかし、スクロールダウンすると、画像は最後の画像を超えて回転し続けます。 – Farook

+0

オタク:http://stackoverflow.com/questions/8893639/cannot-add-images-to-imagelist – Farook

+0

上記の答えで私の編集をチェックしてください。 – Harsh

関連する問題