如何禁止用户按住某个键后在文本输入框中连续输入相同的字母

来源:互联网 发布:墨子打法 知乎 编辑:程序博客网 时间:2024/05/22 08:04
private char last1 = '/0';//存储倒数第一个键的值
private char last2 = '/0';//存储倒数第二个键的值
private void txtTest_KeyPress(object sender, KeyPressEventArgs e)
{
//如果按下的是退格键,重置变量
 if (e.KeyChar == Convert.ToChar(Keys.Back))
 {
  last1 = '/0';
  last2 = '/0';
  return;
 }
 if (last1 == '/0')
 {
  last1 = e.KeyChar;
 }
 else if (last2 == '/0')
 {
  last2 = last1;
 }
 else
 {
  last2 = last1;
  last1 = e.KeyChar;
 }
 if (last2 == last1)
  e.Handled = true;
}
//释放按键后,重置变量
private void txtTest_KeyUp(object sender, KeyEventArgs e)
{
 last1 = '/0';
 last2 = '/0';
}