【问题标题】:How Force textbox to just accept numbers between 2.1 to 9.5如何强制文本框只接受 2.1 到 9.5 之间的数字
【发布时间】:2016-03-22 01:27:01
【问题描述】:

在 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} 之间

【问题讨论】:

  • 根据您找到的先前答案之一发布您的尝试。然后我们可以帮助您纠正您所犯的任何错误。
  • 请详细说明您的要求。这是winforms、wpf、asp-mvc(等)吗?您想完全防止无效信息的输入吗?或者只是显示一些无效数据的错误?
  • 它是什么子系统?我假设的形式?
  • 请链接您尝试解决方案的问题,您自己尝试解决方案时遇到的问题以及您的代码。
  • @CathalMF 我编辑了我的问题

标签: c# winforms


【解决方案1】:

对于 WinForms,只需使用 NumericUpDown

将它放在您的表单上,根据您的喜好设置MinimumMaximumDecimalPlacesIncrement 参数并完成工作。

通过控件的.Value 属性访问该值。

【讨论】:

    【解决方案2】:

    为文本框添加一个 regexvalidator 控件并在其中使用正则表达式以确保只能输入您需要的数字。 我不知道正则表达式,但它应该很容易。

    类似的东西-

    <asp:RegularExpressionValidator ValidationExpression="Expression Goes Here" ControlToValidate="YourControl" ID="RegularExpressionValidator1" runat="server" ErrorMessage="RegularExpressionValidator"></asp:RegularExpressionValidator>
    

    【讨论】:

    • 事实上,范围验证器可能更简单。
    猜你喜欢
    • 1970-01-01
    • 2012-03-09
    • 2010-10-02
    • 2022-06-28
    • 2011-06-15
    • 1970-01-01
    • 2012-02-19
    • 2015-12-30
    • 1970-01-01
    相关资源
    最近更新 更多