Avatar ·

Comment faire une zone de texte acceptant uniquement les chiffres (C# WinForms) ?

Bonjour à tous ! Je suis débutant en C# et WinForms, je crée une application simple pour saisir l'âge de l'utilisateur. J'ai besoin que la zone de texte accepte uniquement les chiffres, et que les lettres et autres caractères soient ignorés. J'ai essayé d'utiliser int.TryParse après avoir cliqué sur le bouton, mais ce n'est pas pratique — l'utilisateur peut saisir "abc123" et ne découvrir l'erreur qu'après avoir cliqué. Je souhaite que les caractères non valides n'apparaissent tout simplement pas dans la zone pendant la saisie.

Voici mon code actuel, qui vérifie la valeur lors du clic sur le bouton :

private void buttonOk_Click(object sender, EventArgs e)
{
    string input = textBoxAge.Text;
    if (int.TryParse(input, out int age))
    {
        MessageBox.Show($"Votre âge : {age}");
    }
    else
    {
        MessageBox.Show("Saisissez uniquement des chiffres");
    }
}