KeyPressEventArgs的值.带有ctrl键的KeyChar

本文关键字:键的 KeyChar ctrl 带有 的值 KeyPressEventArgs | 更新日期: 2024-09-27 05:03:14

KeyPressEvent上,我知道如何检测CTRL键何时按下,但我想得到CTRL+[什么?]。

对于CTRL+AKeyChar=1,2CTRL+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)));
}

输入abTRL+aCTRL+b可得到:

97
98
(Ctrl) 1
(Ctrl) 2

KeyPressEventArgs的值.带有ctrl键的KeyChar

我的建议是使用KeyDown事件,而不是KeyPress,因为KeyPress处理已处理的输入。KeyDown处理"原始"数据(不完全,但足以满足您的目的)。KeyDown事件处理程序有一个保存所需数据的参数:KeyEventArgs