如何在文本框中只输入间隔中的数字
本文关键字:数字 输入 文本 | 更新日期: 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');
}