Foros del Web » Programación para mayores de 30 ;) » .NET »

controlar números y una sola coma decimal textBos

Estas en el tema de controlar números y una sola coma decimal textBos en el foro de .NET en Foros del Web. Tal y como digo en el título, lo que quiero es controlar en C# que en un textBos solo pueda introducir números, una sola coma ...
  #1 (permalink)  
Antiguo 24/04/2013, 03:21
 
Fecha de Ingreso: enero-2013
Mensajes: 54
Antigüedad: 11 años, 2 meses
Puntos: 0
controlar números y una sola coma decimal textBos

Tal y como digo en el título, lo que quiero es controlar en C# que en un textBos solo pueda introducir números, una sola coma decimal y la tecla back.

Hasta ahora lo he conseguido todo menos lo de una sola coma.

Gracias a todos
  #2 (permalink)  
Antiguo 24/04/2013, 03:52
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 2 meses
Puntos: 606
Respuesta: controlar números y una sola coma decimal textBos

Porque no pruebas a coger el texto del textbox y validar el "formato" mediante una expresión regular?
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 24/04/2013, 10:38
 
Fecha de Ingreso: enero-2013
Mensajes: 54
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: controlar números y una sola coma decimal textBos

Al final lo he logrado, pongo el código por si a alguien le es de utilidad.

Código:
public void textPrecioCoste_KeyPress(object sender, KeyPressEventArgs e) 
        {
            if (textPrecioCoste.Text.Contains(","))
            {
                if (!Char.IsDigit(e.KeyChar))
                    e.Handled = true;
                if (e.KeyChar == '\b')
                    e.Handled = false;
            }
            else 
            {
                if (!Char.IsDigit(e.KeyChar))
                    e.Handled = true;
                if (e.KeyChar == ',' || e.KeyChar == '\b')
                    e.Handled = false;
            }
        }

Etiquetas: coma, controlar, decimal
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:18.