DataGridViewCell 陷阱 CTRL+Up 或 CTRL+Down

DataGridViewCell trap CTRL+Up or CTRL+Down

C# 窗体有一个 datagridview。我需要在 CTRL+UP 箭头或 CTRL+Down 时捕获一个事件 在编辑模式下 单元格 中按下了箭头。

不确定要处理哪个事件以及应该如何处理。

像这样处理 DataGridViewKeyUp 事件:

private void dataGridView1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.Up)
        MessageBox.Show(string.Format("Ctrl+{0}",e.KeyCode.ToString()));
    else if (e.Control && e.KeyCode == Keys.Down)
        MessageBox.Show(string.Format("Ctrl+{0}", e.KeyCode.ToString()));
}

添加实际 运行 代码时得到的打印屏幕:

来自 MSDN:

The conditional-AND operator (&&) performs a logical-AND of its bool operands, but only evaluates its second operand if necessary.

https://msdn.microsoft.com/en-us/library/2a723cdk%28v=vs.140%29.aspx

The & operator can function as either a unary or a binary operator.

https://msdn.microsoft.com/en-us/library/sbf85k1c%28v=vs.140%29.aspx

因为在我的代码中两个操作数都是 bool,所以 && 是首选选项,尽管我用 & 进行了测试并且它也能正常工作。 && 也更有效,因为它仅在必要时才测试第二个操作数。