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 : 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
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 : 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
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.