如何限制蒙面文本框仅接受 0-11 之间的整数,C#?
How To Limit a masked textbox to only accept an integer between 0-11, C#?
好的,所以我一直在寻找答案,老实说我只是在谷歌上搜索错误的东西。无论如何,我正在使用 Visual Studio 2012 并制作一个简单的 winform BMI 计算器。我有一个蒙版文本框供用户输入英寸。目前该框被设置为只接受一个或两位数长的整数,但我也想让这个文本框只允许用户输入 0-11 之间的数字。任何关于如何做到这一点的帮助都会很棒。
盒子看起来像这样:
private void heightInches_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{
}
我确实解析了文本框并将输入分配给变量:
inches = int.Parse(heightInches.Text);
为了确保输入不能留空,我使用了这个:
if (string.IsNullOrWhiteSpace(heightInches.Text))
{
MessageBox.Show("Please Enter An Input For Inches.");
return;
}
带有 0-11 作为选项的 ComboBox 似乎最简单并且也允许键盘输入。
最简单的解决方案是使用 NumericUpDown,并将 Minimum 设置为 0,将 Maximum 到 11。这还有一个额外的好处,即允许用户使用鼠标或 UpArrow 和 DownArrow 以及0-9 输入值。
我会使用处理程序 onTextChanged
private void heightInches_TextChanged(object sender, EventArgs e) Handles heightInches.TextChanged
{
Try {
If(cint(yourTextBox.Text) > 11) {
MsgBox("Larger than 11"); }
}
Catch {
MsgBox("Not a Valid Integer"); }
End Try
}
我确定我的语法有点不对劲 - 但你应该明白了。
好的,所以我一直在寻找答案,老实说我只是在谷歌上搜索错误的东西。无论如何,我正在使用 Visual Studio 2012 并制作一个简单的 winform BMI 计算器。我有一个蒙版文本框供用户输入英寸。目前该框被设置为只接受一个或两位数长的整数,但我也想让这个文本框只允许用户输入 0-11 之间的数字。任何关于如何做到这一点的帮助都会很棒。 盒子看起来像这样:
private void heightInches_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{
}
我确实解析了文本框并将输入分配给变量:
inches = int.Parse(heightInches.Text);
为了确保输入不能留空,我使用了这个:
if (string.IsNullOrWhiteSpace(heightInches.Text))
{
MessageBox.Show("Please Enter An Input For Inches.");
return;
}
带有 0-11 作为选项的 ComboBox 似乎最简单并且也允许键盘输入。
最简单的解决方案是使用 NumericUpDown,并将 Minimum 设置为 0,将 Maximum 到 11。这还有一个额外的好处,即允许用户使用鼠标或 UpArrow 和 DownArrow 以及0-9 输入值。
我会使用处理程序 onTextChanged
private void heightInches_TextChanged(object sender, EventArgs e) Handles heightInches.TextChanged
{
Try {
If(cint(yourTextBox.Text) > 11) {
MsgBox("Larger than 11"); }
}
Catch {
MsgBox("Not a Valid Integer"); }
End Try
}
我确定我的语法有点不对劲 - 但你应该明白了。