C# - la Désactivation de la Saisie au Clavier dans une zone de texte

Je suis en train de désactiver toutes les touches saisies dans une zone de texte à l'exception des suivants:

0 1 2 3 4 5 6 7 8 9 . (si toutes les touches, sauf les nombres et le". " doit être désactivée)

Droit maintenant, j'ai le code suivant mais il ne vérifie si une lettre a été conclu que la première valeur (pour ne pas mentionner son vraiment bâclée):

    private void yDisplacementTextBox_TextChanged(object sender, EventArgs e)
{
if (yDisplacementTextBox.Text.ToUpper() == "A" || yDisplacementTextBox.Text.ToUpper() == "B" || yDisplacementTextBox.Text.ToUpper() == "C" ||
yDisplacementTextBox.Text.ToUpper() == "D" || yDisplacementTextBox.Text.ToUpper() == "E" || yDisplacementTextBox.Text.ToUpper() == "F" || 
yDisplacementTextBox.Text.ToUpper() == "G" || yDisplacementTextBox.Text.ToUpper() == "H" || yDisplacementTextBox.Text.ToUpper() == "I" ||
yDisplacementTextBox.Text.ToUpper() == "J" || yDisplacementTextBox.Text.ToUpper() == "K" || yDisplacementTextBox.Text.ToUpper() == "L" ||
yDisplacementTextBox.Text.ToUpper() == "M" || yDisplacementTextBox.Text.ToUpper() == "N" || yDisplacementTextBox.Text.ToUpper() == "O" ||
yDisplacementTextBox.Text.ToUpper() == "P" || yDisplacementTextBox.Text.ToUpper() == "Q" || yDisplacementTextBox.Text.ToUpper() == "R" ||
yDisplacementTextBox.Text.ToUpper() == "S" || yDisplacementTextBox.Text.ToUpper() == "T" || yDisplacementTextBox.Text.ToUpper() == "U" ||
yDisplacementTextBox.Text.ToUpper() == "V" || yDisplacementTextBox.Text.ToUpper() == "W" || yDisplacementTextBox.Text.ToUpper() == "X" ||
yDisplacementTextBox.Text.ToUpper() == "Y" || yDisplacementTextBox.Text.ToUpper() == "Z")
{
MessageBox.Show("Please enter a numeric value for the Y Displacement.", "Y Displacement: Numbers Only Error",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}

Est-il de toute façon à l'avoir, donc lorsqu'il est pressé, toutes les touches du clavier (sauf le nombre et la période de bouton) ne s'inscrivent pas (ou désactive) la valeur réelle de la clé et des intrants rien?

une première suggestion, votre logique serait beaucoup plus simple pour rechercher les lettres que vous voulez autoriser, et en ignorant (ou aide) tout ce qui n'est pas 0-9 ou ..
Jetez un oeil à ce post. Espérons que cela aide.
Est-ce winforms ou wpf? Vous devez supprimer les input tag, et d'ajouter l'une de ces balises.
WinForms à l'aide de VS2010

OriginalL'auteur theNoobGuy | 2011-07-18