你實際上想要一個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