【发布时间】:2014-06-06 09:34:12
【问题描述】:
我在 C# 中有一个文本框,用户只能在其中输入十进制数(负数和正数)。
我不想使用 MaskedText Box,我宁愿使用按键事件来验证输入。
我怎样才能做到这一点?
谢谢,
*********编辑*********++
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e)
{
if (((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != '.' &&e.KeyChar!='-'))
{
e.Handled = true;
}
if (e.KeyChar == '.')
{
if ((sender as TextBox).Text.IndexOf(e.KeyChar) != -1)
e.Handled = true;
}
if (e.KeyChar=='-' && (sender as TextBox).SelectionStart > 0)
{
e.Handled = true;
}
}
【问题讨论】: