Ручка KeyUp
событие для вашего DataGridView
, как это:
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:
Оператор условного-И ()&) выполняет логическое-AND его операндов bool , но при необходимости оценивает его второй операнд.
https://msdn.microsoft.com/en-us/library/2a723cdk%28v=vs.140%29.aspx
Оператор & может функционировать либо как однокомпонентные или бинарный оператор.
https://msdn.microsoft.com/en-us/library/sbf85k1c%28v=vs.140%29.aspx
Поскольку оба операнда bool
в моем коде, &&
является предпочтительным вариантом, хотя я тестировал с &
и работал хорошо. Также &&
более эффективен, потому что он проверяет второй операнд только при необходимости.
использовать событие DataGridView KeyPress. Получите отредактированную ячейку из DataGridView.CurrentCell. – Graffito
Чтобы проверить ключ в событии KeyPress: if (((Control.ModifierKeys & Keys.Control) == Keys.Control) && e.KeyChar == Keys.Up) ... – Graffito
У вас есть Graffito. Благодарю. Я бы дал вам +1, но еще не получил достаточной репутации, чтобы дать это сделать. – Rob