j'utilise shadows pour occulter mes events me gourreraije?)
je vais tout recommencer a zero et ton programme prendra 2 mois de plus,Alors je vais être trash, si ton projet est bien codé c’est l’affaire de quelques jours.
Private Sub Grid1_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles Grid1.PreviewKeyDown 'et on se les met de coté OldRow = Grid1.CurrentRow OldCol = Grid1.CurrentCol End Sub Private Sub Grid1_KeyUp(sender As Object, e As KeyEventArgs) Handles Grid1.KeyUp With Grid1 'on remet la case a son ancienne position .CurrentCol = OldCol .CurrentRow = OldRow 'si c'est un chiffre on formate l'affichage If IsNumeric(CellText(Grid1.CurrentRow, Grid1.CurrentCol)) Then CellText(Grid1.CurrentRow, Grid1.CurrentCol) = FormatNumber(CellText(Grid1.CurrentRow, Grid1.CurrentCol), My.Settings.PrécisionVirgule) End If Select Case e.KeyCode 'Case 8 'backspace '.Text = Strings.Left(.Text, (Len(.Text) - 1)) 'Case 46 'suppr '.Text = "" Case 13 'Entrée 'on teste les extrémitées, si on peu encore avancer.... ben la on avance 'par contre si on est a un bout du tableau alors on change de ligne de colonne et on repasse en fin ou bout de tableau If My.Settings.SensDeplacement = 1 Then 'On est en mode vers la droite donc on avance de colonne en colonne, quand on arrive au bout on descend d'une ligne et on revient en colonne 1 'si on est pas sur la derniere colonne on avance d'un If .CurrentCol <> ColsCount - 1 Then .CurrentCol = .CurrentCol + 1 Else If .CurrentRow <> RowsCount - 1 Then 'on est pas en bas .CurrentRow = .CurrentRow + 1 'on descend Else 'on est en bas on vas a la cellule 1,1 .CurrentRow = 1 End If .CurrentCol = 1 'et On se met a la premiere colonne End If ElseIf My.Settings.SensDeplacement = 2 Then 'On est en mode vers le bas donc on avance de ligne en ligne, quand on arrive au bout on decale d'une colonne et on revient en ligne 1 'si on est pas sur la derniere colonne on avance d'un If .CurrentRow <> RowsCount - 1 Then .CurrentRow = .CurrentRow + 1 Else If .CurrentCol <> ColsCount - 1 Then 'on est pas en bas .CurrentCol = .CurrentCol + 1 'on descend Else 'on est en bas on vas a la cellule 1,1 .CurrentCol = 1 End If .CurrentRow = 1 'et On se met a la premiere colonne End If ElseIf My.Settings.SensDeplacement = 3 Then 'BlabBlaBla si t'a pas compris tu comprendra jamais If .CurrentCol <> 1 Then .CurrentCol = .CurrentCol - 1 Else If .CurrentRow <> 1 Then .CurrentRow = .CurrentRow - 1 Else .CurrentRow = RowsCount End If .CurrentCol = ColsCount - 1 End If ElseIf My.Settings.SensDeplacement = 4 Then 'pas obligé mais plus prore If .CurrentRow <> 1 Then .CurrentRow = .CurrentRow - 1 Else If .CurrentCol <> ColsCount - 1 Then .CurrentCol = .CurrentCol + 1 Else .CurrentCol = 1 End If .CurrentRow = .RowsCount - 1 End If End If End Select End With End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questione.Handle = true
j'ai choisi lamegrid car j'avais besoin de pouvoir affecter des "styles" et pas trouvé sur le datagrid view
Pour ce qui est de e.Handle = true je suppose que ca ne fonctionne que sur les "KeyEventArgs