你实际上想要一个NumericUpDownControl
. 使用它,并设置它的Minimum
和Maximum
属性。完全不需要验证码,轻松解决您的问题。
如果您坚持使用TextBox
then 简而言之,如果不实际检查数字,您将无法获得所需的功能。您可以编写一个UserControl
来执行此操作并且可以重用它,但您仍然需要编写一些验证代码。
只需使用 ASP.NET/Javascript 样式验证来验证整数。此示例使用带有ForeColor
红色的标签来显示验证消息。
private void numberTextBox_TextChanged(object sender, EventArgs e) {
int number;
bool isValid = int.TryParse(numberTextBox.Text, out number);
if (!isValid) {
validationLabel.Text = "Must be a two-digit number.";
validationLabel.Visible = true;
return;
}
if (number < -99 || number > 99) {
validationLabel.Text = "Must be between -99 and 99";
validationLabel.Visible = true;
return;
}
if (isValid) {
validationLabel.Visible = false;
// Do something else with your number
// if you need to.
}
}
必须编写代码来进行验证并没有错。否则,您可能不会使用现有的设计器属性获得良好的结果。