This piece of code will allow users to enter only numbers and one decimal point (.) in a textbox
private void txtMCurReading_KeyPress(object sender, KeyPressEventArgs e) { if (Char.IsControl(e.KeyChar)) { // } else if (char.IsLetter(e.KeyChar)) { e.Handled = true; } else if (Char.IsNumber(e.KeyChar) || e.KeyChar == '.') { TextBox tb = sender as TextBox; int cursorPosLeft = tb.SelectionStart; int cursorPosRight = tb.SelectionStart + tb.SelectionLength; string result = tb.Text.Substring(0, cursorPosLeft) + e.KeyChar + tb.Text.Substring(cursorPosRight); string[] parts = result.Split('.'); if (parts.Length > 1) { if (parts[1].Length > 2 || parts.Length > 2) // change here for setting number of chars after decimal { e.Handled = true; } } if (parts[0].Length > 10) // change here for setting number of chars before decimal { e.Handled = true; } } else if (!Char.IsNumber(e.KeyChar)) { e.Handled = true; } }
No comments:
Post a Comment