如何检测 TextBox 中的 Ctrl+1 按键

How to detect Ctrl+1 key press in TextBox

我试图在 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");
    }
}

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

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

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

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