Как отключить навигацию по клавишам в ListBox, но продолжать обнаруживать события нажатия клавиш? - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь отключить навигацию клавиш в ListBox.Я могу сделать это успешно с помощью следующего кода:

private void listClips_PreviewKeyDown(object sender, KeyEventArgs e)
{
    e.Handled = true;
}

, но я хочу добавить сочетание клавиш для моей программы.Это не работает, когда я установил e.Handled = true.

private void listClips_KeyDown(object sender, KeyEventArgs e)
{
    MessageBox.Show("Key Pressed " + e.Key);
}

Как мне сохранить их работоспособность?

1 Ответ

0 голосов
/ 29 мая 2018

Разве вы не можете переместить свою логику в обработчик PreviewKeyDown?

private void listClips_PreviewKeyDown(object sender, KeyEventArgs e)
{
    //custom logic...
    MessageBox.Show("Key Pressed " + e.Key);

    e.Handled = true;
}

Обрабатывать любые нужные сочетания клавиш и всегда устанавливать для свойства Handled значение true.

...