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