在 KeyPressEvent
上,我知道如何检测 CTRL 键何时按下,但我想得到 CTRL+[什么? ].
CTRL+A, KeyChar
= 1, CTRL+B给出 2,等等。检测 CTRL+a 输入的最佳方法是什么?
这是我的代码:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (ModifierKeys.HasFlag(Keys.Control))
{
Console.Write("(Ctrl) ");
}
Console.WriteLine(Convert.ToString(Convert.ToInt32(e.KeyChar)));
}
输入a, b, CTRL+a, CTRL+< kbd>b 给出:
97
98
(Ctrl) 1
(Ctrl) 2
最佳答案
我的建议是使用KeyDown事件而不是 KeyPress,因为 KeyPress 与处理过的输入一起工作。 KeyDown 使用“原始”数据(不完全是,但足以满足您的目的)。 KeyDown 事件处理程序有一个参数,其中包含您需要的数据:KeyEventArgs
关于c# - KeyPressEventArgs.KeyChar 的值与 ctrl 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20590746/