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
public bool IsNumber(string inputvalue) { Regex isnumber = new Regex(@"^-?[0-9]+(\.?[0-9]+)?$"); return isnumber.IsMatch(inputvalue); } private void txtEstatura_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Back || e.KeyChar == (char)Keys.Delete || e.KeyChar == (char)Keys.Left || e.KeyChar == (char)Keys.Right || IsNumber(e.KeyChar.ToString()) ) { TextBox tbtmp = sender as TextBox; if (e.KeyChar == '.' && tbtmp.Text.IndexOf('.') > 0) e.Handled = true; else e.Handled = false; } else e.Handled = true; } private void txtEstatura_TextChanged(object sender, EventArgs e) { TextBox tbtmp = sender as TextBox; if (tbtmp.Text.Length > 1 && tbtmp.Text[0] == '.') { int select = tbtmp.SelectionStart; tbtmp.Text = tbtmp.Text.Insert(0, "0"); tbtmp.SelectionStart = ++select; } } private void txtEstatura_Validating(object sender, System.ComponentModel.CancelEventArgs e) { TextBox tbtmp = sender as TextBox; tbtmp.Text = decimal.Parse(tbtmp.Text).ToString(); }
Unicamente me haria falta eso, todo lo demas ya lo tengo.
Gracias!
Saludos!