use*_*570 4 c# keypress winforms
在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)));
}
Run Code Online (Sandbox Code Playgroud)
输入a, b, CTRL+ a, CTRL+b给出:
97
98
(Ctrl) 1
(Ctrl) 2
Run Code Online (Sandbox Code Playgroud)
我的建议是使用KeyDown事件而不是 KeyPress,因为 KeyPress 可以处理处理过的输入。KeyDown 处理“原始”数据(不完全,但足以满足您的目的)。KeyDown 事件处理程序有一个参数来保存您需要的数据:KeyEventArgs