Bonjour,
J'ai découvert récemment les subtilités des paramètres régionaux en matière de séparateur décimal.
Par exemple, si vous avez réglé vos paramètres Windows de sorte que le séparateur décimal est la virgule, que ce soit dans l'onglet nombres ou dans l'onglet système monétaire, le point du pavé numérique va continuer de taper un point.
Donc mon objectif est de lui faire taper une virgule
Voilà le code que j'ai tenté dans un form :
DG.HistoriqueAchat est un datagridview contenu dans le Form
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 Private Sub DG_HistoriqueAchats_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _ Handles DG_HistoriqueAchats.KeyPress If _IsDecimalPressed Then e.KeyChar = CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator End If End Sub Private Sub DG_HistoriqueAchats_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) _ Handles DG_HistoriqueAchats.KeyDown If e.KeyData = Keys.Decimal Then _IsDecimalPressed = True End If End Sub Private Sub DG_HistoriqueAchats_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) _ Handles DG_HistoriqueAchats.KeyUp _IsDecimalPressed = False End Sub
Pas de chance, le code ne rentre jamais dans l'event KeyPress ou KeyDown.
Je ne comprends pas pourquoi.
Partager