如何在文本框中只输入间隔中的数字

本文关键字:数字 输入 文本 | 更新日期: 2023-09-27 18:28:47

我尝试为小程序Reminder制作一些表单(C#、WinForms)。在这个过程中,我遇到了一些问题——想为textBox做一些过滤器,用户必须在其中输入事件的开始时间。结果是,在KeyPress事件上添加了一些代码,只允许输入数字,但我也希望用户只能输入一些数字。

代码:

  private void starTimetextBox_KeyPress(object sender, KeyPressEventArgs e)
    {
        if ((e.KeyChar >= '0') && (e.KeyChar <= '9'))
        {
            return;
        }
        if (Char.IsControl(e.KeyChar))
        {
            if (e.KeyChar == (char) (Keys.Enter))
                startTimeMMtextBox.Focus();
        }
        e.Handled = true;
    }

我可以使用此事件来完成此操作吗?

如何在文本框中只输入间隔中的数字

试试这个:-

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
    }

注意:-您可以使用TextBox的MaxLength属性来限制用户只能输入两位数字。若要向用户显示消息,可以使用TextBox的TextChanged事件。

要对字符0到9进行筛选,可以扩展前面的答案。(类似于你的问题样本)。

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
   {
       e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)
                   && (e.KeyChar >= '0' && e.KeyChar <= '9');
   }