我正在尝试完成与这里的人类似的事情,但是那里的答案给我留下了一些错误,这不是什么大不了的事,但从用户 POV 来看是丑陋的:
当它将按键数据放入文本框中时,如果用户在字符之前按下修饰键(就像一个那样),则会填充文本框,包括修饰符的键名。即,我得到类似“CTRL + SHIFT + ShiftKey”的结果。我试图做的任何事情来抑制最后一个键码最终也会抑制真正的键。
这是我的基本尝试(原谅阻塞,我一直在分解它并重写它的一些部分,试图自己解决这个问题,但无济于事)没有我要求的压制。
String pressed ="";
e.SuppressKeyPress = true;
if ((e.Modifiers & Keys.Control) > 0)
{
pressed += "CTRL + ";
}
if ((e.Modifiers & Keys.Alt) > 0)
{
pressed += "ALT + ";
}
if ((e.Modifiers & Keys.Shift) > 0)
{
pressed += "SHIFT + ";
}
pressed += e.KeyCode;
txtCopyKey.Text = pressed;
希望我在这里对我的要求足够清楚。