C#文本框中限制只能输入数字,负号
在C#文本框中怎样限制负号只能输一次且只能在前面出现呢?需要在KeyPress事件应该怎么写啊?
[解决办法]
- C# code
private void textInMoney_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁止空格键 if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return; //处理负数 if (e.KeyChar > 0x20) { try { double.Parse(((TextBox)sender).Text + e.KeyChar.ToString()); } catch { e.KeyChar = (char)0; //处理非法字符 } } }
[解决办法]
建议使用 System.Windows.Forms.MaskedTextBox 类。