VB.net - problem getting the ListIndex of ListView without clicking

Hi
I am trying to get the ListIndex of a ListVew without clicking it but the last two lines of the following code
cause errors.

 Sub Get_Row_Index_on_Mousehover()
        Dim LocalMousePosition As Point
        LocalMousePosition = Me.lsvAction.PointToClient(Cursor.Position)
        Debug.WriteLine("X = " & LocalMousePosition.X & ", " & LocalMousePosition.Y)

        Dim x As Integer = LocalMousePosition.X
        Dim y As Integer = LocalMousePosition.Y
        Dim returnValue As ListViewItem
        returnValue = Me.lsvAction.GetItemAt(x, y)

        MsgBox(returnValue.Index)
 
    End Sub
Murray BrownMicrosoft Cloud Azure/Excel Solution DeveloperAsked:
Who is Participating?
 
Stephen MandersonConnect With a Mentor Software EngineerCommented:
Hi there

Try the following and have it handle the mouse move event of the listview

Regards
Steve


    Private Sub ListView1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseMove
 
        Dim LocalMousePosition As Point
        LocalMousePosition = Me.ListView1.PointToClient(Cursor.Position)
 
        Dim x As Integer = LocalMousePosition.X
        Dim y As Integer = LocalMousePosition.Y
 
        Dim HoveredItem As ListViewItem = Me.ListView1.GetItemAt(x, y)
        If HoveredItem Is Nothing Then Return
 
        MsgBox(HoveredItem.Index)
 
    End Sub

Open in new window

0
 
Murray BrownMicrosoft Cloud Azure/Excel Solution DeveloperAuthor Commented:
Great answer. Thanks very much
0
All Courses

From novice to tech pro — start learning today.