Mousehover et Datagridview Le Retour
ReBonjour,
Un petit rappel du sujet, je souhaite que lorsque la souris passe au dessus d'une colonne de mon DataGridView, celle-ci soit Selected (highlighted - surligné en bleu).
Voici le code obtenu et corrigé qui marche presque:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Dim pt As New Point
Dim hti As DataGridView.HitTestInfo
Try
pt = Me.DGV_echantillon.PointToClient(MousePosition)
Catch ex As Exception
Return
End Try
hti = Me.DGV_echantillon.HitTest(pt.X, pt.Y)
If hti.Type = DataGridViewHitTestType.Cell Then
Me.DGV_echantillon.Columns(hti.ColumnIndex).Selected = True
End If |
Je dis qu'il marche presque car il sélectionne la colonne mais lorsque la souris reste au dessus du DGV, et que le change de colonne, il ne change rien. L'évènement se déclenche bien et les valeurs (comme hti.ColumnIndex) sont bonne.
Pour que ca fonctionne il faut que la souris "sorte" du DGV et reviens, à ce moment il veut bien.
J'ai bien essayer ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Dim pt As New Point
Dim hti As DataGridView.HitTestInfo
Try
pt = Me.DGV_echantillon.PointToClient(MousePosition)
Catch ex As Exception
Return
End Try
hti = Me.DGV_echantillon.HitTest(pt.X, pt.Y)
If hti.Type = DataGridViewHitTestType.Cell Then
If Not hti.ColumnIndex = test_column Then
Me.DGV_echantillon.ClearSelection()
If Not test_column = -1 Then
Me.DGV_echantillon.Columns(test_column).Selected = False
End If
Me.DGV_echantillon.Columns(hti.ColumnIndex).Selected = True
test_column = hti.ColumnIndex
End If
End If |
Car je pense que le problème viens du DGV.Columns(index).selected = true.
Mais là je bloque un peu. Si quelqu'un a une idée.
Merci d'avance.