• Domingo 22 de Diciembre de 2024, 10:14

Autor Tema:  Permitir solo un punto en un textbox  (Leído 7999 veces)

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Permitir solo un punto en un textbox
« en: Miércoles 23 de Junio de 2010, 17:49 »
0
Hola a todos, estoy progamando en C#, tengo un textbox  que solo acepta numeros, el backspace y el punto, con el siguiente método. Sin embargo tengo aun un problema y es que  no he logrado validar que solo acepte un punto. Alguno de ustedes me puede dar alguna idea, se los agradezco muchisimo.
Código: C#
  1.  
  2. private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
  3.         {
  4.             validaNumeroPunto(e);
  5.         }
  6.  
  7.         public void validaNumeroPunto(KeyPressEventArgs en)
  8.         {
  9.             if (!char.IsDigit(en.KeyChar) && en.KeyChar != (char)Keys.Back && en.KeyChar != 46)
  10.                 en.Handled = true;
  11.         }
  12.  
  13.  

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Re: Permitir solo un punto en un textbox
« Respuesta #1 en: Miércoles 23 de Junio de 2010, 19:58 »
0
Chicos encontré la solucion:
Código: C#
  1.  
  2. if (!char.IsDigit(en.KeyChar) && en.KeyChar != (char)Keys.Back && en.KeyChar != 46)
  3.                 en.Handled = true;
  4. else if (en.KeyChar == 46 )
  5. {
  6.     if (banderaPunto)
  7.          {
  8.                     banderaPunto = false;
  9.           }
  10.       else en.Handled = true;
  11.  }
  12.  
  13.  

Pero si alguien tiene una mejor opción bienvenida sea.

Newtek

  • Miembro activo
  • **
  • Mensajes: 81
  • Nacionalidad: cr
    • Ver Perfil
    • http://www.newtekwebhosting.com.com?id=000231
Re: Permitir solo un punto en un textbox
« Respuesta #2 en: Jueves 24 de Junio de 2010, 16:53 »
0
Te puse una en el otro post que enviastes...

viewtopic.php?f=50&t=43457&p=155875#p155875

Es la que se usa para verificar cosas como emails, URL entre otras cosas... te lo puse en VB pero el principio y las clases son los mismos.

Saludos.

Carlos