Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2012, 14:14
satania135
 
Fecha de Ingreso: marzo-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 0
Busqueda Validar Textbox

Hola tengo una duda sobre como validar un textbox que el segundo caracter ingresado sera un Punto, es un textbox donde se ingresa la estatura, es decir, que tiene que ser, numero - punto - numero - numero....
Lo demas que es que no permita algun caracter especial y nadamas que permita 4 caracteres como maximo ya lo tengo controlado, nadamas mi duda seria como validar que el segundo caracter sea un punto y que si no es un punto asignarle e.Handled = false;

Mi codigo es este
Código C#:
Ver original
  1. public bool IsNumber(string inputvalue)
  2.         {
  3.             Regex isnumber = new Regex(@"^-?[0-9]+(\.?[0-9]+)?$");
  4.             return isnumber.IsMatch(inputvalue);
  5.         }
  6.  
  7.  private void txtEstatura_KeyPress(object sender, KeyPressEventArgs e)
  8.         {
  9.             if (e.KeyChar == (char)Keys.Back
  10.                || e.KeyChar == (char)Keys.Delete
  11.                || e.KeyChar == (char)Keys.Left
  12.                || e.KeyChar == (char)Keys.Right
  13.                || IsNumber(e.KeyChar.ToString())
  14.                )
  15.             {
  16.                 TextBox tbtmp = sender as TextBox;
  17.                 if (e.KeyChar == '.' && tbtmp.Text.IndexOf('.') > 0)
  18.                     e.Handled = true;
  19.                 else
  20.                     e.Handled = false;
  21.              
  22.             }
  23.             else
  24.                 e.Handled = true;
  25.            
  26.         }
  27.  
  28.  
  29.         private void txtEstatura_TextChanged(object sender, EventArgs e)
  30.         {
  31.             TextBox tbtmp = sender as TextBox;
  32.  
  33.             if (tbtmp.Text.Length > 1 && tbtmp.Text[0] == '.')
  34.             {
  35.                 int select = tbtmp.SelectionStart;
  36.                 tbtmp.Text = tbtmp.Text.Insert(0, "0");
  37.                 tbtmp.SelectionStart = ++select;
  38.             }
  39.            
  40.         }
  41.  
  42.    private void txtEstatura_Validating(object sender, System.ComponentModel.CancelEventArgs e)
  43.         {
  44.             TextBox tbtmp = sender as TextBox;
  45.             tbtmp.Text = decimal.Parse(tbtmp.Text).ToString();
  46.  
  47.         }

Unicamente me haria falta eso, todo lo demas ya lo tengo.

Gracias!
Saludos!