//控制控件輸入的是正數(包括小數) private void txt_Weight_KeyPress(object sender, KeyPressEventArgs e) { //第一步:判斷輸入的是否是數字——char.IsNumber(e.KeyChar) //如果是數字,可以輸入(e.Handled = false;) //如果不是數字,則判斷是否是小數點 if (char.IsNumber(e.KeyChar)) { e.Handled = false; } else { //判斷輸入的是否是小數點,或中文狀態下的句號,或者是退格鍵 //如果是小數點,循環判斷每個字符是不是小數點,如果存在不能輸入,如果不存在允許輸入 //如果是退格鍵,允許輸入——if (e.KeyChar == '\b') //如果不是小數點也不是退格鍵,不允許輸入 if (e.KeyChar == Convert.ToChar("。") || e.KeyChar == Convert.ToChar(".")) { int i_d = 0; for (int i = 0; i < txt_Weight.Text.Length; i++) { if (txt_Weight.Text.Substring(i, 1) == ".") { e.Handled = true; i_d++; return; } } if (i_d == 0) {
e.KeyChar = Convert.ToChar(".");//設置按鍵輸入的值為"." e.Handled = false; } } else if (e.KeyChar == '\b') { e.Handled = false; } else { e.Handled = true; } } }