c# - C# Keypress hook - 退格键只删除最后一个字符
问题描述
当我想删除最后几个字符并按退格键(按、按、按)时,一切正常,但如果我按退格键一次并按住它更长时间,它只会删除最后一个字符而不是几个. 如何改进它?
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.
}
}
}
解决方案
推荐阅读
- php - laravel 模型查找现有 id 的返回 null
- android - 将边距设置为导航抽屉中的菜单项,但不设置标题部分
- python-3.6 - 为输出制作相对文件路径
- c++ - 可变模板成员函数头/源文件
- c# - 为什么我不能在需要相同上下文的控制器中注入需要 httpclient 和 EF 上下文的服务
- sql - 如何按特定顺序分组?
- excel - 从特定工作表中删除特定列会导致“未定义子或函数”编译错误
- java - 每当在任何其他服务中自动装配时,如何使 POJO 在 setter 中返回修改后的值?
- python - KERAS: AttributeError: 'BatchDataset' object has no attribute 'ndim' ,Tensorflow 图像分割演示不适用于我的 anaconda
- java - 服务在 android 8 (oreo) 下意外停止