C# Keypress Hook - Backspace удалить только один последний символ
Когда я хочу удалить последние несколько символов и нажать клавишу возврата (нажать, нажать, нажать), все работает нормально, но если я нажимаю кнопку возврата один раз и удерживаю ее в течение более длительного времени, она удаляет только последний символ, а не несколько, Как это улучшить?
public void gHook_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyValue >= 48 && e.KeyValue <= 57) || (e.KeyValue >= 65 && e.KeyValue <= 90) || (e.KeyValue >= 96 && e.KeyValue <= 105))
{
switch (e.KeyValue)
{
case (96): { keysPressed += "0"; } break;
case (97): { keysPressed += "1"; } break;
case (98): { keysPressed += "2"; } break;
case (99): { keysPressed += "3"; } break;
case (100): { keysPressed += "4"; } break;
case (101): { keysPressed += "5"; } break;
case (102): { keysPressed += "6"; } break;
case (103): { keysPressed += "7"; } break;
case (104): { keysPressed += "8"; } break;
case (105): { keysPressed += "9"; } break;
default:
{ keysPressed += ((char)e.KeyValue).ToString(); }
break;
}
}
else if (e.KeyValue == 8)
{
if (keysPressed.Length > 1)
{
keysPressed = keysPressed.Remove(keysPressed.Length - 1);
// what to do so that the backspace removes more characters on one long press.
}
}
}