Red de conocimiento informático - Material del sitio web - ¿Usar C# para personalizar un cuadro de texto que solo puede ingresar números en vs2010?

¿Usar C# para personalizar un cuadro de texto que solo puede ingresar números en vs2010?

1. En Winform (C#), para restringir el cuadro de texto solo para ingresar números, el enfoque general es procesarlo en el evento clave,

para determinar el valor de keychar. Sólo se pueden ingresar números, punto decimal, retroceso y teclas Supr. El carácter clave correspondiente a los números del 0 al 9 es del 48 al 57, el punto decimal es 46, el Retroceso es 8 y el punto decimal es 46.

2. Introduzca el punto decimal. El decimal ingresado debe ajustarse al formato del número, por ejemplo, no se puede ingresar 9.9.9. El método consiste en utilizar float.TryParse para convertir los valores antes y después en el cuadro de texto y luego comparar los resultados de la conversión de los dos. En el siguiente código, se implementa la entrada de números en el control textBox1.

Ingrese el siguiente código en el tiempo KeyPress en el control textBox1 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

//Determine si la clave es requerido El tipo de entrada.

si

(((int)e.KeyChar lt; 48 || (int)e.KeyChar gt; 57) amp; amp;

( int)e.KeyChar != 8 amp; (int)e.KeyChar !=46 )

e.Handled = true;

if ((int)e.KeyChar == 46) //Punto decimal

{

if (textBox1.Text.Length lt; = 0)

e.Handled = true; //El punto decimal no puede estar en primer lugar

else

{

float f;

float oldf;

bool b1 = false, b2 = false;

b1 = float.TryParse(textBox1.Text, out oldf);

b2 = float.TryParse(textBox1.Text e.KeyChar.ToString(), out f);

if (b2 == false)

{

if (b1 == verdadero)

e.Handled = verdadero;

else

e.Handled = falso

<; p> }

}

} }