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:
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Pour que ca fonctionne il faut que la souris "sorte" du DGV et reviens, à ce moment il veut bien.
J'ai bien essayer ça :
Car je pense que le problème viens du DGV.Columns(index).selected = true.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Mais là je bloque un peu. Si quelqu'un a une idée.
Merci d'avance.
Partager