Vérifier si une clé est Lettre/Chiffre/Symbole Spécial

Je remplace ProcessCmdKey et quand je suis Keys argument, je veux vérifier si ce Keys est Lettre ou un Chiffre ou un Symbole Spécial.

J'ai cet extrait

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
            char key = (char)keyData;
            if(char.IsLetterOrDigit(key)
            {
                Console.WriteLine(key);
            }
            return base.ProcessCmdKey(ref msg, keyData);
    }

Tout fonctionne pour les lettres et les chiffres. mais quand j'appuie sur F1-F12, il les convertit en lettres.

Peut-être que quelqu'un connaît une meilleure façon de résoudre cette tâche?

Le problème est que vous êtes casting keyData à un personnage. Vous ne pouvez pas le faire. Vous devez utiliser les constantes définies dans la Keys énumération pour obtenir cette information.
Peut-être vous pouvez Essayer stackoverflow.com/questions/887377/...

OriginalL'auteur Zlobaton | 2011-04-19