permitir solo numeros en textbox

19/06/2006 - 05:12 por xinpis | Informe spam
hola grupo, como puedo hacer para solo permitir la escritura de numeros en un
TextBox
gracias de antemano

xinpis@homtail.com

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
19/06/2006 - 08:18 | Informe spam
Hola xinpis

Puedes utilizar el evento KeyPress del TextBox, y allí intentas convertir a
número la propiedad KeyChar del parámetro KeyPressEventArgs que recibe el
manipulador de dicho evento. Si no se puede convertir a número, asignas a la
propiedad Handled del mismo parámetro el valor true, y así evitas que el
carácter llegue al área de texto del control. Para todo ello empleas un
capturador de errores tal y como puedes ver en el siguiente ejemplo que te
acompaño:

//
private void textBox1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
int valor;

try
{
valor = int.Parse(e.KeyChar.ToString());
}
catch
{
e.Handled = true;
}
}
//

Espero que te sea de utilidad.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"xinpis" wrote:

hola grupo, como puedo hacer para solo permitir la escritura de numeros en un
TextBox
gracias de antemano


Respuesta Responder a este mensaje
#2 Octavio Hernandez
19/06/2006 - 11:58 | Informe spam
Hola, Luismi!,

Eso funciona perfectamente, pero esto otro es bastante más eficiente, ya que
no llama a métodos ni utiliza excepciones:

private void textBox1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
// ignorar lo que no es dígito
if (e.KeyChar < '0' || e.KeyChar > '9')
e.Handled = true;
}

Slds - Octavio



"Luis Miguel Blanco" escribió
en el mensaje news:
Hola xinpis

Puedes utilizar el evento KeyPress del TextBox, y allí intentas convertir
a
número la propiedad KeyChar del parámetro KeyPressEventArgs que recibe el
manipulador de dicho evento. Si no se puede convertir a número, asignas a
la
propiedad Handled del mismo parámetro el valor true, y así evitas que el
carácter llegue al área de texto del control. Para todo ello empleas un
capturador de errores tal y como puedes ver en el siguiente ejemplo que te
acompaño:

//
private void textBox1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
int valor;

try
{
valor = int.Parse(e.KeyChar.ToString());
}
catch
{
e.Handled = true;
}
}
//

Espero que te sea de utilidad.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"xinpis" wrote:

hola grupo, como puedo hacer para solo permitir la escritura de numeros
en un
TextBox
gracias de antemano


Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
19/06/2006 - 13:50 | Informe spam
Hola Octavio, que tal? 8-)

Totalmente de acuerdo, esta solución daría un mejor rendimiento ;-)
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Octavio Hernandez" wrote:

Hola, Luismi!,

Eso funciona perfectamente, pero esto otro es bastante más eficiente, ya que
no llama a métodos ni utiliza excepciones:

private void textBox1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
// ignorar lo que no es dígito
if (e.KeyChar < '0' || e.KeyChar > '9')
e.Handled = true;
}

Slds - Octavio



"Luis Miguel Blanco" escribió
en el mensaje news:
> Hola xinpis
>
> Puedes utilizar el evento KeyPress del TextBox, y allí intentas convertir
> a
> número la propiedad KeyChar del parámetro KeyPressEventArgs que recibe el
> manipulador de dicho evento. Si no se puede convertir a número, asignas a
> la
> propiedad Handled del mismo parámetro el valor true, y así evitas que el
> carácter llegue al área de texto del control. Para todo ello empleas un
> capturador de errores tal y como puedes ver en el siguiente ejemplo que te
> acompaño:
>
> //
> private void textBox1_KeyPress(object sender,
> System.Windows.Forms.KeyPressEventArgs e)
> {
> int valor;
>
> try
> {
> valor = int.Parse(e.KeyChar.ToString());
> }
> catch
> {
> e.Handled = true;
> }
> }
> //
>
> Espero que te sea de utilidad.
> Un saludo
> Luis Miguel Blanco
> http://www.dotnetmania.com
>
>
> "xinpis" wrote:
>
>> hola grupo, como puedo hacer para solo permitir la escritura de numeros
>> en un
>> TextBox
>> gracias de antemano
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida