在KeyPressEvent
上我知道如何检测 CTRL 键何时关闭,但是我想得到 CTRL + [what?]。< / p>
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
答案 0 :(得分:2)
我的建议是使用KeyDown事件而不是KeyPress,因为KeyPress使用已处理的输入。 KeyDown使用“原始”数据(不完全,但足以满足您的需要)。 KeyDown事件处理程序有一个参数,用于保存您需要的数据:KeyEventArgs