[SL3]Changer le caractère entré par KeyDown
Bonjour,
J'ai créé un textBox dans lequel il n'est possible que d'entrer des chiffres, un point ou une virgule.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Private Sub txtMontant_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.KeyEventArgs)
If e.Key < Key.D0 Or e.Key > Key.D9 Then
If e.Key < Key.NumPad0 Or e.Key > Key.NumPad9 Then
If e.PlatformKeyCode <> 188 And e.PlatformKeyCode <> 16 Then
If e.PlatformKeyCode <> 110 And e.PlatformKeyCode <> 190 Then
e.Handled = True
End If
End If
End If
End If
End Sub |
J'autorise bien l'entrée du point "." et de la virgule "," comme séparateur décimal estimant que l'utilisateur doit pouvoir utiliser l'un ou l'autre.
Malheureusement, c'est seulement quand l'utilisateur tape une virgule que c'est considéré comme un séparateur décimal, s'il tape un point pas.
Je voudrais donc pouvoir dans ma "Sub txtMontant_KeyDown" déterminer si e.PlatformKeyCode = 110 ou 190 (le point du pavé numérique ou le point du clavier) faire que e.PlatformKeyCode = 188 (la virgule).
Mais e.PlatformKeyCode est "readOnly".
Une idée ?