Bonjour,

J'ai créé un textBox dans lequel il n'est possible que d'entrer des chiffres, un point ou une virgule.

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 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 ?