CLR: .Net / Mono / Boo / Otros CLR > C#
Validar TextBox solo numeros (c#)
(1/1)
rober_net:
hola amigos necesito de su ayuda...estoy haciendo un formulario y necesito que en un textbox solo me permita ingresar numeros (del 1 al 50), no letras .. tenia entendido que lo podia hacer con el evento keypress, pero nose como hacerlo..
Muchas gracias desde ya.
morringos:
Bueno bro, desde luego que soy novato y encontré una forma de solucionar tu problema (obviamente no es tan óptimo el código) donde abajo te pongo el código:
Primero, puse la propiedad MaxLength del textBox1 a 2, así se evita que se escriban números mayores que 99
Código del evento KeyPress del textBox1:
--- Código: C# --- if (Char.IsDigit(e.KeyChar)) { e.Handled = false; } else if (e.KeyChar == 'b') { e.Handled = false; } else { e.Handled = true; }
Código del evento TextChanged del textBox1 (Cuando el textBox1 cambia):
--- Código: C# --- if (textBox1.Text.Length == textBox1.MaxLength) //Si los dos dígitos aceptados están escritos { if (Convert.ToInt32(textBox1.Text) < 0 || Convert.ToInt32(textBox1.Text) > 50) { this.Text = "ERROR"; //En caso de que el valor sea mayor que el indicado, el título del formuario se pone como ERROR } else { this.Text = textBox1.Text;//En caso de que el valor ingresado esté en el rango, el título del formulario se pone de acuerdo al valor ingresado } } else if (textBox1.Text.Length==1)//En caso de que cuando se pone el primer dígito { if (textBox1.Text[0] == '0')//Si el dígito es 0, automáticamente lo borra y esto obliga a poner números del 1 en adelante { textBox1.Clear(); } }
Otra alternatica podría ser el control numericUpDown, con ese le indicas los rangos máximo de valores que aceptará el control y te evitas de tantas validaciones.
Bueno bro, como te dije, tal vés no es lo más óptimo, pero al menos funciona y es lo que pude encontrar como solución, debido a como te digo, soy novato todavía.
Aquí hay muy buenos programadores profesionales que de seguro ellos te puedan mostar un código más corto y óptimo, tales como ProfesorX y JuanK.
Saludos bro!;
Morringos!; ^_^
Navegación
Ir a la versión completa