netlib.narod.ru< Назад | Оглавление | Далее >

Быстрые клавиши меню

Я уже упоминал клавиатурный интерфейс меню, связанный с подчеркнутыми буквами. Когда пользователь нажимает клавишу Alt, форма переходит в режим выбора меню. Нажатие клавиши F выводит подменю File, а нажатие О эквивалентно щелчку по пункту Open.

В Windows есть еще один интерфейс для работы меню, построенный на акселераторах (accelerator), или быстрых клавишах (shortcut) в терминологии Windows Forms. Быструю клавишу указывают значением из перечисления Shortcut. В предыдущем примере значение Shortcut.CtrlO указывает на то, что сочетание клавиш Ctrl+O является быстрой клавишей для вывода диалогового окна открытия файла. Когда быстрые клавиши применяются в пунктах меню, текст «Ctrl+O» автоматически вставляется в видимый пользователю текст пункта меню. Когда пользователь нажимает Ctrl+O напрямую вызывается обработчик события MenuFileOpenOnClick без видимого участия меню.

Shortcut — это перечисление 150 клавиатурных сочетаний, рекомендованных для меню. (Это четвертое по размеру перечисление в .NET Framework.) В наборе, приведенном в первой таблице, приведены функциональные клавиши, а также Insert, Delete и Backspace:


Перечисление Shortcut (выборочно)



F1 ShiftF1 CtrlF1 CtrlShiftF1 AltF1
F2 ShiftF2 CtrlF2 CtrlShiftF2 AltF2
F3 ShiftF3 CtrlF3 CtrlShiftF3 AltF3
F4 ShiftF4 CtrlF4 CtrlShiftF4 AltF4
F5 ShiftF5 CtrlF5 CtrlShiftF5 AltF5
F6 ShiftF6 CtrlF6 CtrlShiftF6 AltF6
F7 ShiftF7 CtrlF7 CtrlShiftF7 AltF7
F8 ShiftF8 CtrlF8 CtrlShiftF8 AltF8
F9 ShiftF9 CtrlF9 CtrlShiftF9 AltF9
F10 ShiftF10 CtrlF10 CtrlShiftF10 AltF10
F11 ShiftF11 CtrlF11 CtrlShiftF11 AltF11
F12 ShiftF12 CtrlF12 CtrlShiftF12 AltF12
Ins ShiftIns CtrlIns    
Del ShiftDel CtrlDel    
None       AltBksp


Значение по умолчанию Shortcut.None. В следующей таблице приведены сочетания всех букв с клавишами Shift и Ctrl:


Перечисление Shortcut (выборочно)



CtrlA CtrlN CtrlShiftA CtrlShiftN
CtrlB CtrlO CtrlShiftB CtrlShiftO
CtrlC CtrlP CtrlShiftC CtrlShiftP
CtrlD CtrlQ CtrlShiftD CtrlShiftQ
CtrlE CtrlR CtrlShiftE CtrlShiftR
CtrlF CtrlS CtrlShiftF CtrlShiftS
CtrlG CtrlT CtrlShiftG CtrlShiftT
CtrlH CtrlU CtrlShiftH CtrlShiftU
CtrlI CtrlV CtrlShiftI CtrlShiftV
CtrlJ CtrlW CtrlShiftJ CtrlShiftW
CtrlK CtrlX CtrlShiftK CtrlShiftX
CtrlL CtrlY CtrlShiftL CtrlShiftY
CtrlM CtrlZ CtrlShiftM CtrlShiftZ


Значения этих членов перечисления эквивалентны значениям перечисления Keys (см. главу 6) из свойства KeyData класса KeyEventArgs. Ниже перечислены сочетания цифровых клавиш с клавишами Ctrl и Alt:


Перечисление Shortcut (выборочно)



Ctrl0 CtrlShift0 Alt0
Ctrl1 CtrlShift1 Alt1
Ctrl2 CtrlShift2 Alt2
Ctrl3 CtrlShift3 Alt3
Ctrl4 CtrlShift4 Alt4
Ctrl5 CtrlShift5 Alt5
Ctrl6 CtrlShift6 Alt6
Ctrl7 CtrlShift7 Alt7
Ctrl8 CtrlShift8 Alt8
Ctrl9 CtrlShift9 Alt9


Использовать в качестве быстрых клавиш меню значения, не определенные в перечислении Shortcut, нельзя.

В Win32-программировании клавиши-акселераторы можно использовать не только для быстрого вызова пунктов меню. Но в программе Windows Forms быстрые клавиши служат только для вызова пунктов меню. Быструю клавишу, не связанную с пунктом меню, можно определить, связав сначала пункт меню с этой клавишей, затем включив этот пункт в свое меню и установив свойство Visible пункта меню в false. Пункт не будет выводиться, но быстрая клавиша будет работать.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz