Создание главного меню
Большинство Windows-приложений оснащено главным меню, которое представляет собой иерархическую структуру выполняемых функций и команд. Практически все функции, которые можно осуществить при помощи элементов управления, имеют свой аналог в виде пункта меню.
Для создания главного меню используется элемент управления MainMenu, расположенный на панели инструментов ToolBox. Создайте новое приложение и назовите его NotepadCSharp. Установите следующие свойства формы:
Name | frmmain |
Icon | Code\Glava2\NotepadCSharp\Icon\README.ICO |
Text | Notepad C# |
WindowState | Maximized |
Перетаскиваем элемент управления на форму. Нам предстоит заполнить строки меню следующими пунктами (рис. 2.1):
увеличить изображение
Рис. 2.1. Пункты главного меню приложения Notepad C#
Каждый пункт главного меню имеет свое окно свойств, в котором, подобно другим элементам управления, задаются значения свойств Name и Text (рис. 2.2). В поле Text перед словом New стоит знак & — так называемый амперсанд, указывающий, что N должно быть подчеркнута и будет частью встроенного клавиатурного интерфейса Windows. Когда пользователь на клавиатуре нажимает клавишу Alt и затем N, выводится подменю New.
Рис. 2.2. Свойства пункта меню New
В Windows есть еще интерфейс для работы с так называемыми быстрыми клавишами, или акселераторами. Сочетание клавиш указывают из перечисления Shortcut. Следует назначать стандартным пунктам общепринятые сочетания клавиш. Горизонтальная разделительная линия используется в тех случаях, когда надо визуально отделить сходные группы задач; для ее появления в свойстве Text пункта меню просто вводим знак тире. Для использования пунктов меню в коде, им также назначают имена (свойство Name), которые особенно важны, т.к. пунктов меню обычно бывает много. Свойства пунктов меню в приложении Notepad C# приводятся в таблице 2.1.
mnuFile | &File | |
mnuNew | &New | CtrlN |
mnuOpen | &Open | CtrlO |
mnuSave | &Save | CtrlS |
menuItem5 | - | |
mnuExit | &Exit | AltF4 |
mnuEdit | &Edit | |
mnuCut | Cu&t | CtrlX |
mnuCopy | &Copy | CtrlC |
mnuPaste | &Paste | CtrlV |
mnuDelete | &Delete | Del |
mnuSelectAll | &SelectAll | CtrlA |
mnuFormat | F&ormat | |
mnuFont | Font… | |
mnuColor | Color… | |
mnuWindow | &Window | |
mnuArrangeIcons | Arrange Icons | |
mnuCascade | Cascade | |
mnuTileHorizontal | Tile Horizontal | |
mnuTileVertical | Tile Vertical | |
mnuHelp | ? | |
mnuAbout | About Programm... |