C#Winforms中的文本框验证 - 应该只允许1-100之间的数字

时间:2013-11-08 14:23:57

标签: c# .net winforms c#-4.0

您好抱歉这是一个简单的问题,但如果有人可以引导我使用该代码,我将不胜感激。我在Winform中说了50个文本框。所有应该只允许数值,也只允许1-100。我该如何确保此验证?

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

1 个答案:

答案 0 :(得分:5)

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

  

NumericUpDown控件包含可以是的单个数值   单击向上或向下按钮递增或递减   控制。除非ReadOnly,否则用户还可以输入值   property设置为true。

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

编辑:如果您想通过代码执行此操作,那么您可以尝试使用KeyPress的{​​{1}}事件:

TextBox

上述内容可以改进以访问private void yourTextBox_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)) { e.Handled = true; } } 的十进制数字,但我猜你有这个想法。