Я пытаюсь так
Код: Выделить всё
private void listviewLogger_KeyUp(object sender, KeyEventArgs e)
{
if (sender != listviewLogger) return;
//if (e.Control && e.KeyData == (Keys.Control | Keys.C))
if (e.Control && e.KeyCode == Keys.C)
CopySelectedValuesToClipboard();
}

P.S.: в Windows установлены два языка, система Win2012 R2
Обновление1: спасибо за комментарий! Если я регистрирую действия, я вижу это:
e.KeyData: ControlKey
e.KeyCode: ControlKey
e.KeyData: C
e.KeyCode: C
Но все равно не могу уловить эту последовательность клавиш. Код:
Код: Выделить всё
private void listviewLogger_KeyUp(object sender, KeyEventArgs e)
{
if (sender != listviewLogger)
return;
Logger("e.KeyData: " + e.KeyData);
Logger("e.KeyCode: " + e.KeyCode);
}
Решено следующим образом. Не спрашивайте меня как
Код: Выделить всё
if (((e.KeyData & Keys.ControlKey) != Keys.ControlKey) && e.KeyCode == Keys.C)
CopyLogEntriesToClipboard();
Предыдущее работало для события KeyUp. Для KeyDown работает первый фрагмент кода
Подробнее здесь: https://stackoverflow.com/questions/355 ... -shift-key
Мобильная версия