你实际上想要一个NumericUpDownControl
。使用它,并设置其Minimum
和Maximum
属性。根本不需要验证代码,并轻松解决您的问题。
如果你坚持使用TextBox
那么简而言之,如果不实际检查数字,你将无法获得想要的功能。你可以编写一个UserControl
来做到这一点,你可以重用它,但你仍然需要编写一些验证代码。
只需验证使用ASP.NET/JavaScript样式验证的整数。本示例使用Red的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.
}
}
必须编写代码来进行验证没有任何问题。否则,使用现有的设计器属性可能无法取得良好效果。
感谢您对NumericUpDownControl的提示。 – MarioDS 2012-04-25 19:32:10