textbox, solo numeros

11/03/2006 - 13:41 por AT Baez | Informe spam
Saludos,
Apreciaria ayuda para conseguir que un textbox acepte solo numeros. He
conseguido lo siguiente:

public static bool soloNum(char c)
{
char[] digitos = new char[]{'0','1','2','3','4','5','6','7','8','9',\b'};
if ((Array.IndexOf(digitos, c) == -1))
{
return true;
}
else
{
return false;
}
}

Se llama desde el evento keypress del textbox, pero no se como hacerlo. Lo
he llamado asi:

soloNum();

Pero me da errores. (Si me dais alguna explicacion tomad en cuenta que soy
nuevo en esto).
Gracias de antemano,
Alberto
 

Leer las respuestas

#1 Octavio Hernandez
11/03/2006 - 14:34 | Informe spam
Alberto,

En el evento KeyPress debes hacer lo siguiente:

{
// si no es uno de los caracteres válidos, indicar
// que lo hemos tratado ya para que el sistema lo ignore
if ( ! soloNum(e.KeyChar) )
e.Handled = true;
}

Te muestro otra variante de soloNum(), creo que más eficiente:

public static bool soloNum(char c)
{
return c>='0' && c <= '9' || c == '\b';
}

Slds - Octavio


"AT Baez" escribió en el mensaje
news:jAzQf.87$
Saludos,
Apreciaria ayuda para conseguir que un textbox acepte solo numeros. He
conseguido lo siguiente:

public static bool soloNum(char c)
{
char[] digitos = new char[]{'0','1','2','3','4','5','6','7','8','9',\b'};
if ((Array.IndexOf(digitos, c) == -1))
{
return true;
}
else
{
return false;
}
}

Se llama desde el evento keypress del textbox, pero no se como hacerlo. Lo
he llamado asi:

soloNum();

Pero me da errores. (Si me dais alguna explicacion tomad en cuenta que soy
nuevo en esto).
Gracias de antemano,
Alberto

Preguntas similares