0

我正在验证用户输入以仅接受数字

 private void txtEdition_KeyPress(object sender, KeyPressEventArgs e)
 {
    if ((int)e.KeyChar < 48 || e.KeyChar > 57)
        e.Handled = true;
 }

但这也会禁用此输入字段中的退格键。怎么可以允许退格?

4

1 回答 1

0

你可以使用

if (!Char.IsNumber(e.KeyChar) && 
    !Char.IsControl(e.KeyChar))
{
    e.Handled = true;
}

Char.IsNumber指示 Unicode 字符是否归类为数字
Char.IsControl指示指定的 Unicode 字符是否归类为控制字符。

但是,这不会阻止复制/粘贴操作,因此当您需要在此文本框中键入的数据时,您仍然需要使用某种 TryParse 验证输入

于 2013-10-24T20:30:57.883 回答