如何在TextBox中检测Ctrl + 1键

时间:2016-06-17 10:27:10

标签: c# winforms textbox keypress

我试图在WinForm上的文本框中检测到ctrl + 1键,但以下代码未检测到按下ctrl键。任何建议都会有所帮助。

private void textBox1_KeyDown(object sender, KeyPressEventArgs e)
{
    if ((ModifierKeys & Keys.Control) == Keys.Control)
    {
        if (e.KeyChar == (char)Keys.D1)
            MessageBox.Show("1 get selected");
    }
}

2 个答案:

答案 0 :(得分:1)

您的(ModifierKeys & Keys.Control)是导致您麻烦的原因。我建议保持简单:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.D1)
    {
        MessageBox.Show("Selected !");
    }
}

答案 1 :(得分:0)

只是一个建议,但可能是因为您比较KeyChar而不是KeyCode。 尝试

private void textBox1_KeyDown(object sender, KeyPressEventArgs e)
    {
        if (e.Control && e.KeyCode == Keys.D1)
        {
                MessageBox.Show("1 get selected");
        }
}