在C#和windows表单应用程序中,
我有一些文本框,我想强制用户只能输入数字而只是一个特定的数字,例如在这种情况下我的数字范围是{2.1,2.2,...,9.4,9.5}
这就是我强制文本框只接受数字的方式:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!((int)e.KeyChar>=48 && (int)e.KeyChar<= 57 || (int)e.KeyChar ==8))
{
e.KeyChar = (char)27;
}
}
但我不知道如何为它设定范围:例如仅在{2.1到9.5}或{25到91}之间
答案 0 :(得分:4)
对于WinForms,只需使用NumericUpDown。
将其放在表单上,根据自己的喜好设置Minimum
,Maximum
,DecimalPlaces
和Increment
参数。
通过控件的.Value
属性访问该值。
答案 1 :(得分:0)
为文本框添加regexvalidator控件并在其中使用正则表达式以确保只能输入您需要的数字。 我不会随便知道正则表达式,但它应该很容易。
像 -
<asp:RegularExpressionValidator ValidationExpression="Expression Goes Here" ControlToValidate="YourControl" ID="RegularExpressionValidator1" runat="server" ErrorMessage="RegularExpressionValidator"></asp:RegularExpressionValidator>