Keypress事件无法正常工作

时间:2015-05-14 08:25:24

标签: c#

我遇到了按键事件的问题。

当我在textbox1中输入10位数时,它需要10位数字。但现在,如果我按退格键,它会显示消息“您输入的数字不能超过十位”。这是我的第一个问题。

第二个问题是,当我清除textbox1按退格键并现在再次输入数字时,它只需要9位数。

请告诉我我的代码出了什么问题:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
  if (textBox1.Text.Trim().Length > 9)
  {
      MessageBox.Show("You can't enter more than ten digits...");
      textBox1.MaxLength = 9;

  }
}

1 个答案:

答案 0 :(得分:1)

您可以检查KeyChar是否退格:

if (e.KeyChar != '\b' && textBox1.Text.Trim().Length > 9)
{
    e.Handled = true;
    MessageBox.Show("You can't enter more than ten digits...");
}