Vb.net - dataGridView : Creer un événement au survol du bouton tab du clavier

Amine448 -  
 Amine448 -
Bonjour à tous !

Je travaille sur un dataGridView, l'utilisateur peut changer les valeurs des cellules présentes.

J'aimerais que quand l'utilisateur utilise le bouton tab du clavier pour naviguer entre les cellules, la couleur de la cellule courante devrait changer (actuellement j'ai des pointillés qui apparaissent quand on est sur la cellule).
Exactement comme dans ce exercice (https://www.aspforums.net/Threads/856342/Highlight-ASPNet-GridView-Cell-on-mouseover-and-Keyboard-Tab-press-using-jQuery/

Mais j'utilise vb.net .

Quelqu'un peut m'aider sur le type d'évènement à choisir svp ? Ou m'aider à trouver une solution pour modifier le style par défaut ?

J'ai essayer ce code mais la couleur n'est changé que quand je passe à une autre cellule, je voudrais faire en sorte que la couleur change quand on est sur la cellule tout en utilisant le bouton tab ou au survol de la souris

Private Sub dataGridView1_KeyDown(sender As Object, e As KeyEventArgs) Handles dataGridView1.KeyDown
        Dim currentCell = dataGridView1.SelectedCells(0)
        If (e.KeyCode = Keys.Tab) Then
            'currentCell.Style.BackColor = Color.Aqua
        End If
    End Sub


Merci d'avance !
A voir également:

7 réponses

Utilisateur anonyme
 
Bonjour

Pour la couleur de la cellule sélectionnée, il faut affecter la propriété SelectionBackColor.

Voici un exemple en c#

https://askcodez.com/datagridview-cellule-selectionnee-style.html


Pour en faire du vb

https://www.qwant.com/?q=c%23+to+vb&client=brz-brave&t=web

Un truc cela dit, il y a longtemps que je ne fais plus de winform, mais il me semble me souvenir, qu’avec le panneau de propriétés ça affecte à toutes les cellules.


Pour le survol de la souris, il va falloir que tu joues avec l’événement MouseMove et que tu appliques la couleur comme tu l’as essayé. Je pense qu’il manque un Refresh ou un truc dans le style
1
Amine448
 
Salut !
Merci beaucoup pour ta réponse !
C’est surtout l’événement sur le bouton « tab » du clavier qui me bloque. Genre Un événement MouseHover pour la touche tab du clavier :D
0
Utilisateur anonyme
 
Si tab te fait changer de cellule et que la propriété SelectionBackcolor est renseignée alors ça fait le job.
1
Amine448
 
Malheureusement ça ne marche pas
0
Utilisateur anonyme
 
Et bien chez moi ça marche

Dans cette capture on voit qu'il y a un fond bleu dans les propriétés du format de cellule par défaut

Ce qui donne


et après un appui sur tab

1
Amine448
 
Effectivement ça marche. J'ai créée un petit projet à part pour tester, il marchait très bien.
Dans l'autre projet, je crois qu'il ne marchait pas, peut-être parce qu'il y'a des combobox et un bouton. Le mécanisme est peut-être different quand il s'agit d'un combobox ou d'un bouton.


Merci beaucoup encore !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Si tu viens d’un combobox au Datagridview ça donne le focus au datagridview, mais pas sûr que ça sélectionne une cellule.
Je ne suis pas chez moi de la journée, j’essayerai ce soir.
0
Utilisateur anonyme
 
J’ai essayé chez moi, non seulement le tab donne le focus au datagridview mais en plus ça sélectionne la première cellule.
0
Amine448
 
Ah ok !

Merci !
0