我尝试为小程序提醒制作一些表格(C#,WinForms)。 在它期间我有一些问题 - 想为textBox做一些过滤器,用户必须输入事件的开始时间。 结果得到了下一个 - 在KeyPress事件上添加一些代码,允许只输入数字,但我也希望该用户只能输入一些diapasone的数字。
代码:
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;
}
我可以通过使用此事件来执行此操作吗?
答案 0 :(得分:1)
试试这个: -
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar);
}
注意: - 您可以使用TextBox的MaxLength属性限制用户仅输入2位数。要向用户显示消息,可以使用TextBox的TextChanged事件。
答案 1 :(得分:0)
要对字符0到9进行过滤,可以扩展上一个答案。 (Similair在你的问题样本中)。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)
&& (e.KeyChar >= '0' && e.KeyChar <= '9');
}