一、控制台限制只能輸入數字
static void Main(string[] args) { Console.WriteLine("本控制台程序為演示只能輸入數字功能"); Console.WriteLine("請輸入數值:"); var Falg = true; var InputValue = ""; while (Falg) { if (Console.KeyAvailable) { ConsoleKeyInfo key = Console.ReadKey(true); if (!char.IsDigit(key.KeyChar) && key.KeyChar != '\b' && key.KeyChar != '\r') continue; if (key.KeyChar == '\r' && InputValue.Trim() == "") continue; //禁止第一個字符就換行 if (key.KeyChar == '\r') { Falg = false; continue; } else { Console.Write(key.KeyChar); InputValue += key.KeyChar; } } } Console.WriteLine(); Console.WriteLine("輸入的數字是:{0}", InputValue); Console.ReadKey(); }
二、控制台限制只能輸入數字|小數點
static void Main(string[] args) { Console.WriteLine("本控制台程序為演示只能輸入數字|小數點功能"); Console.WriteLine("請輸入數值:"); var Falg = true; var InputValue = ""; while (Falg) { if (Console.KeyAvailable) { ConsoleKeyInfo key = Console.ReadKey(true); if (!char.IsDigit(key.KeyChar) && key.KeyChar != '\b' && key.KeyChar != '\r' && key.KeyChar != '.') continue; if (key.KeyChar == '\r' && InputValue.Trim() == "") continue; //禁止第一個字符就換行 if (key.KeyChar == '.' && InputValue.Trim() == "") continue; //禁止第一個字符就輸入小數點 if (key.KeyChar == '0' && InputValue.Trim() == "") continue; //禁止第一個字符就輸入0 if (key.KeyChar == '.' && InputValue.Contains(".")) continue; //禁止輸入多個小數點 if (key.KeyChar == '\r') { if (InputValue.Substring(InputValue.Length - 1, 1) == ".") { continue;//禁止小數點后就換行 } Falg = false; continue; } else { Console.Write(key.KeyChar); InputValue += key.KeyChar; } } } Console.WriteLine(); Console.WriteLine("輸入的數字是:{0}", InputValue); Console.ReadKey(); }
三、限制TextBox控件只能輸入數字(其他部分輸入內容控件均可適用以下代碼)
private void txtBoxPress_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsDigit(e.KeyChar) && e.KeyChar != '\b') { e.Handled = true; //非以上鍵則禁止輸入 } if (e.KeyChar == '0' && txtBoxPress.Text.Trim() == "") e.Handled = true; //禁止第一個字符就輸入0 }
四、限制TextBox只能輸入數字|小數點
private void txtBoxPress_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsDigit(e.KeyChar) && e.KeyChar != '\b' && e.KeyChar != '.') { e.Handled = true; //非以上鍵則禁止輸入 } if (e.KeyChar == '0' && txtBoxPress.Text.Trim() == "") e.Handled = true; //禁止第一個字符就輸入0 if (e.KeyChar == '.' && txtBoxPress.Text.Trim() == "") e.Handled = true; //禁止第一個字符就輸入小數點 if (e.KeyChar == '.' && txtBoxPress.Text.Contains(".")) e.Handled = true; //禁止輸入多個小數點 }
這里是輸入框,只做了部分能夠規避的操作性問題,至於輸入值是否還會有其他問題,請大家多多交流。