¿Cómo hacer un campo de texto que solo acepte números (C# WinForms)?
¡Hola a todos! Soy nuevo en C# y WinForms, estoy haciendo una aplicación simple para ingresar la edad del usuario. Necesito que en el campo de texto solo se puedan ingresar números, y que las letras y otros caracteres sean ignorados. Probé usar int.TryParse después de hacer clic en un botón, pero es incómodo — el usuario puede escribir "abc123" y enterarse del error solo después del clic. Quiero que los caracteres no válidos no aparezcan en el campo durante la escritura.
Aquí está mi código actual, que verifica el valor al hacer clic en el botón:
private void buttonOk_Click(object sender, EventArgs e)
{
string input = textBoxAge.Text;
if (int.TryParse(input, out int age))
{
MessageBox.Show($"Su edad: {age}");
}
else
{
MessageBox.Show("¡Ingrese solo números!");
}
}
¿Cómo puedo hacer que el usuario no pueda físicamente ingresar letras? He oído sobre el evento KeyPress, pero no entiendo cómo aplicarlo correctamente. Aconsejenme, por