2

你好对不起,这是一个简单的问题,但如果有人能用代码指导我,我将不胜感激。我的 Winform 中有 50 个文本框。所有都应该只允许数值,并且也只允许在 1-100 之间。我应该如何确保这个验证?

我的想法是在按键事件中使用 e.Keychar,使用 Ascii 值来限制用户只输入数字。另外,也许我可以在属性中的 Set 中确保此验证?但我不知道我是否正确,也不知道正确的代码。请帮我。

4

1 回答 1

5

使用验证NumericUpDown代替普通TextBox框。

NumericUpDown 控件包含单个数值,可以通过单击控件的向上或向下按钮来增加或减少该数值。用户也可以输入一个值,除非 ReadOnly 属性设置为 true。

您可以指定最小和最大数字,它将允许用户输入 1 到 100 之间的数字,还可以让他们使用向上和向下按钮。

编辑:如果你想通过代码来做,那么你可以尝试类似的KeyPress事情TextBox

private void yourTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!char.IsControl(e.KeyChar)
        && !char.IsDigit(e.KeyChar))
    {
        e.Handled = true;
    }
}

以上可以改进以访问.十进制数,但我想你明白了。

于 2013-11-08T14:24:50.910 回答