2009-09-14 3 views
0

Я работаю над приложением, которое имеет несколько присоединяемых панелей, таких как Visual Studio. В какой-то момент клавиши ускорителя для меню перестали работать. Они иногда работают в зависимости от того, какая панель в данный момент активна. Когда они не работают, нажатие клавиши alt устанавливает фокус в строке меню и показывает символы подчеркивания под соответствующими символами, но при нажатии любого из символов не отображается меню.Клавиши ускорителя C# не работают

Я немного ударил головой об этом, и мне интересно, есть ли более простой способ узнать, что происходит с этими нажатиями клавиш.

ответ

0

Я обнаружил, что был элемент управления, который переопределил Control.ProcessMnemonic(). Была логическая ошибка, возвращавшая true, когда она должна была возвращать false.

Не совсем легкая ошибка, которую можно найти, не тратя много времени.

0

Первое, что нужно искать, - это любые ключевые обработчики пресса в вашем коде. Я бы установил точку останова во всех этих случаях и посмотрел, останавливаются ли эти обработчики событий нажатием клавиши.

Смежные вопросы