J'utilise le code suivant pour décider si un '.' (Arrêt complet) est entré dans un contrôle WebBrowser:HtmlElementEventArgs KeyPressedCode Confusion
private void body_KeyUp(object sender, HtmlElementEventArgs e)
{
if (e.KeyPressedCode == '.')
{
// Do something
}
}
Selon msdn KeyPressedCode renvoie une valeur ASCII. Ce que j'obtiens en point d'arrêt est '190' si j'entre un '.' toutefois. Ceci n'est même pas listé dans la table ASCII standard. De toute évidence, je pourrais simplement tester 190, mais je crains que KeyPressedCode pourrait renvoyer des valeurs différentes sur différents systèmes avec des pages de codes différentes, des langues et ainsi de suite.
Alors pouvez-vous s'il vous plaît m'expliquer pourquoi KeyPressedCode renvoie «190» au lieu de «46» et comment je peux gérer ce problème «en toute sécurité»?
Il est intéressant de noter que la valeur de retour pour '' (espace) est toujours correcte ('32'). Jouer avec System.Text.Encoding.GetEncoding et différentes pages de code n'a pas résolu le problème, mais je n'ai pas beaucoup d'expérience avec les pages de code.