【问题标题】:c#. user should only type in numbers in two text boxes [duplicate]C#。用户只能在两个文本框中输入数字[重复]
【发布时间】:2021-02-17 17:17:56
【问题描述】:

我尝试寻找一些关于如何让用户只输入数字而不是字母的资源。我想在上面显示一条消息,以便用户知道他们需要输入一个数字。我想要一些关于如何实现该条件的指示。

(这是在 WPF c# Visual Studio 中完成的)

private void Add_Click(object sender, RoutedEventArgs e)
    {
       //text box
      number1 = Convert.ToInt32(TextBox1.Text);
      number2 = Convert.ToInt32(TextBox2.Text);

        //if number1 and number2 are less than 1
        if (number1 < 1 || number2 < 1|| number1 > 100 || number2 > 100)
            {
                MessageBox.Show("INVALID INPUT");
                TextBox1.Text = " ";
                TextBox2.Text = " ";
            }
        else if (!success)
        {
            MessageBox.Show("Type a number please.");
            success = int.TryParse(TextBox1.Text, out number1);
            success = int.TryParse(TextBox2.Text, out number2);

        }
        //operation
        answer = number1 + number2;
        //
        //when clicked
        answerText.Text = answer.ToString();
        }`

【问题讨论】:

    标签: c# wpf visual-studio


    【解决方案1】:

    你做错了。在 WPF 中,您可以对给定类型的公共 getter/setter 进行“绑定”。框架本身进行转换并允许或不允许正确的值,而无需您尝试解析它。

    例如,在您的代码隐藏(.cs 部分)中,为您用于输入的内容创建一个公共属性。例如:

    // This is a public getter/setter for binding and defaults its value to 27.
    public int MyTextInput {get; set; } = 27;
    

    我将默认值设置为 27 的唯一原因是,当您完成绑定并运行表单时,如果表单在最初显示时显示 27,您就知道它工作正常。如果不是,那么您的绑定/数据上下文不正确,必须先修复该部分。但是一旦完成,你应该很好,可以将默认值改回 0。

    然后,在表单上足够宽以显示 2 位数字的单个文本框中,将绑定设置为类似于此属性的内容(如果您的表单是使用网格对齐的,您可能需要指定网格行/列) .

        <TextBox Text="{Binding MyTextInput}" MaxLength="2" />
    

    现在,当您运行表单时,文本框控件将作为整数数据类型“绑定”到您的类的公共属性“MyTextInput”。如果您尝试输入字符,wpf 将自动显示带有红色边框的框,表示无效值。

    然后,无论您的单击/按钮处理程序是什么,您都可以查看“MyTextInput”值并相应地进行。

    显然,如果您有多个期望的实际值,只需创建两个公共属性和两个文本框条目,每个条目都绑定到您提供的相应公共属性。

    【讨论】:

      猜你喜欢
      • 2011-11-09
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多