Member 12076824 Ответов: 1

C# winforms добавляет сочетания клавиш в меню.


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

Мне нужны сочетания клавиш, как показано ниже:

Файл - > Alt, F
Файл -и GT; выходим -&ГТ; АЛТ, Ф, Х
Действие - > Alt, A
Действие - & gt; Первый - & gt; Alt, A, F
Действие -и GT; далее -&ГТ; АЛТ А Н
Акция -&ГТ; пред -и GT; АЛТ, а, в
Действие - & gt; последнее - & gt; Alt, A, L



fileToolStripMenuItem.ShortcutKeys = Keys.Alt|Keys.F;
           exitToolStripMenuItem.ShortcutKeys = Keys.Alt|(Keys.F|Keys.X);
           actionToolStripMenuItem.ShortcutKeys = Keys.Alt|Keys.A;
           firstToolStripMenuItem.ShortcutKeys = Keys.Alt|(Keys.A|Keys.F);
           nextToolStripMenuItem.ShortcutKeys = Keys.Alt|(Keys.A|Keys.N);
           previousToolStripMenuItem.ShortcutKeys = Keys.Alt|(Keys.A|Keys.V);
           lastToolStripMenuItem.ShortcutKeys = Keys.Alt|(Keys.A|Keys.L);


Что я уже пробовал:

Я попытался с помощью ShortcutKeys параметр, чтобы назначить клавиши быстрого доступа к пунктам меню

Suvendu Shekhar Giri

что выкинули какой-либо ошибки?

Member 12076824

Спасибо за ответ без ошибок, но он работает не так, как задумано, или просто работает с ALT, N вместо ALT, A, N для следующего пункта меню.

1 Ответов

Рейтинг:
2

Midi_Mick

Сочетания клавиш предназначены для одного нажатия клавиши в пункте меню. Например, "Alt-X" -это обычный ярлык для выхода из файла. Если вы используете только одну букву после выпадения меню, то вы просто добавляете модификатор к тексту пункта меню.

exitToolStripMenuItem.Text="E&xit";

Это также ставит подчеркивание под "x", указывая пользователю, что это клавиша для нажатия.


Member 12076824

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

Midi_Mick

В этом случае ваш единственный другой вариант-перехватить событие KeyDown в вашей форме, установив для KeyPreview в форме значение True. Обратите внимание, что это интерпретирует только одну клавишу за раз, поэтому вам придется посмотреть на 2-е нажатие клавиши в событии KeyDown вашего меню.