我正在验证用户输入以仅接受数字
private void txtEdition_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int)e.KeyChar < 48 || e.KeyChar > 57)
e.Handled = true;
}
但这也禁用了此输入字段中的退格。如何允许退格?
答案 0 :(得分:0)
您可以使用
if (!Char.IsNumber(e.KeyChar) &&
!Char.IsControl(e.KeyChar))
{
e.Handled = true;
}
Char.IsNumber,表示Unicode字符是否被归类为数字
Char.IsControl,指示指定的Unicode字符是否被归类为控制字符。
但是,这不会阻止复制/粘贴操作,因此当您需要在此文本框中键入数据时,仍需要使用某种TryParse验证输入