【发布时间】:2012-05-02 10:40:54
【问题描述】:
这是我目前拥有的代码:
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && e.KeyChar != '.';
if (e.KeyChar == '.' && (sender as TextBox).Text.IndexOf('.') > -1) e.Handled = true;
}
【问题讨论】:
-
这段代码有什么问题?
-
我想输入一个双变量..例如“1.1”..我想阻止它输入“.1”
-
所以,你是说你现在拥有的代码阻止你在文本框中输入
.anywhere,但你only想要防止 first 字符成为.? -
我现在拥有的代码让我可以在表单的任何位置输入它并阻止它输入多个。但我想阻止它作为文本框中的第一个字符输入
-
确保考虑到有人将数字粘贴到文本框中的情况。请不要通过禁用粘贴来解决它。
标签: c# .net winforms textbox keypress