TextBox只允許輸入數字或者兩位以下的小數
阿新 • • 發佈:2019-02-03
private void fStartNum_KeyPress(object sender, KeyPressEventArgs e) { int kc = e.KeyChar; if (kc == 46) //小數點 { if (fStartNum.Text.Length <= 0) { e.Handled = true; //小數點不能在第一位 } else { float f; float oldf; bool b1 = false, b2 = false; b1 = float.TryParse(fStartNum.Text, out oldf); b2 = float.TryParse(fStartNum.Text + e.KeyChar.ToString(), out f); if (b2 == false) { if (b1 == true) e.Handled = true; else e.Handled = false; } } } else { if (kc != 8 && !Char.IsDigit(e.KeyChar)) { e.Handled = true; } else if (fStartNum.SelectionStart > fStartNum.Text.LastIndexOf('.') & fStartNum.Text.LastIndexOf('.') != -1 & fStartNum.Text.LastIndexOf('.') + 3 == fStartNum.Text.Length) {//小數不能超過兩位 e.Handled = true; } else { e.Handled = false; } } }