Dans ma KeyDown
EventHandler
j'ai besoin de savoir quelle est la KeyCode
pour "," et ".".
Je ne peux pas les trouver c'est pourquoi je demande. Merci!
Une clé et un personnage ne sont pas la même chose. La disposition du clavier se transforme entre eux, et cette transformation n'est pas anodine. Vous faites probablement la mauvaise chose lorsque vous utilisez KeyDown
. Si vous voulez savoir quel caractère un utilisateur a entré, vous devez utiliser KeyPress
, qui donne le caractère déjà traduit.
Par exemple, Keys.Decimal
est une clé sur le pavé numérique qui correspond à .
sur la présentation américaine et ,
à la disposition allemande. Keys.Oemcomma
et OemPeriod
sont susceptibles de ,
et .
ci-dessous les lettres. Mais sur d'autres mises en page, cela peut être différent.
Oemcomma
et OemPeriod
ressemblent à de bons candidats.
Examinez l’énumération Keys
sur MSDN.
Vérifiez la valeur décimale, c'est votre code clé.
J'ai fait ça:
Utilisez Keys.Oemcomma
et Keys.OemPeriod
Avez-vous essayé cela "." C
Un filtre à flotteur:
Select Case e.KeyChar
Case "0"c To "9"c
Case "."c
If .Text.Contains(".") Then
e.Handled = True
End If
Case ChrW(Keys.Delete), ChrW(Keys.Back)
Case Else
e.Handled = True
End Select