Winform клавиатура управления - PullRequest
2 голосов
/ 21 июля 2009

Я хотел бы контролировать фокус моего приложения winform. Он состоит из настраиваемого списка и нескольких других компонентов. Я хочу, чтобы все события клавиатуры управлялись моими обработчиками окон, чтобы избежать конкретной обработки управляющих клавиш (например, когда я нажимаю символ и поле списка фокусируется, выбирается элемент, начинающийся с соответствующей буквы, что не является правильным поведением для моего приложения). Как мне этого добиться?

1 Ответ

4 голосов
/ 21 июля 2009

Убедитесь, что для свойства KeyPreview вашей формы установлено значение true. Тогда этот код должен работать для отмены ваших ключевых событий в списке ...

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (this.ActiveControl == listBox1)
        e.Handled = true;
}

Событие KeyPress может не работать для всех ваших сценариев. В этом случае я бы попробовал событие KeyDown.

...