Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/08/2006, 01:43
jamner
 
Fecha de Ingreso: agosto-2006
Mensajes: 4
Antigüedad: 17 años, 8 meses
Puntos: 0
validar números reales en c#

hola johnwilliams, gracias por la respuesta, el código que me diste funciona, pero me priva de usar el backspace y tambien puedo ingresar signos como / * - +, aunque haciendo una pequeña correcion se arregla lo segundo.

El siguiente codigo es muy bueno para ingresar solo numeros, en este caso trabajamos con codigo ascii, tambien está habilitado el backspace, para borrar. Al trabajar con ascii podemos habilitar y deshabilitar cualquiera caracter que queramos.


private void txtN1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (((e.KeyChar) < 48 && e.KeyChar != 8) || e.KeyChar > 57 ){
MessageBox.Show("Sólo se permiten Números");
e.Handled = true;
}
}


Bueno el problema surge cuando quiero trabajar con números reales, es decir necesitare la coma, podemos habilitar la coma decimal con el ascci:


private void txtN1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (((e.KeyChar) < 48 && e.KeyChar != 8 && e.KeyChar !=44) || e.KeyChar > 57 ){
MessageBox.Show("Sólo se permiten Números");
e.Handled = true;
}
}


ahora esta habilitada la "," y podemos trabajar con reales, el problema surge por k el usuario va a poder ingresar mas de una "," en un textbox. Quisiera que alguien me ayude a que sólo se pueda ingresar una "," y que no sea en el primer espacio del textbox.
Gracias
saludos