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';
}
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';
}
本文介绍了一个简单的按键重复输入限制机制的实现方式。通过记录最后两个按键的值,并在按键被按下时检查这两个值是否相同来避免重复输入。此外,文章还展示了如何在按键释放后重置这些记录的值。

被折叠的 条评论
为什么被折叠?



