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

[0] Índice de Mensajes

Ir a la versión completa