Как сделать меню программ

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

Во многих случаях при использовании редактора меню можно щелкнуть правой кнопкой мыши, чтобы отобразить всплывающее меню с часто используемыми командами. Доступные команды зависят от объекта, на который наведен указатель мыши.

Инструкции

Редактор меню позволяет:

Создание стандартного меню

Примечание Чтобы создать меню с одним элементом в строке меню, присвойте свойству Popup значение False.

Создание подменю

  1. Выберите команду меню, для которой нужно создать подменю.
  2. В поле Новый элемент , которое появится справа, введите имя новой команды меню. Эта новая команда будет первой в подменю.
  3. Добавьте дополнительные команды меню в меню подменю.

Вставка нового меню между существующими меню

Выберите имя существующего меню и нажмите клавишу INSERT или щелкните правой кнопкой мыши строку меню и выберите команду Вставить новую.

Как сделать МЕНЮ в Unity? | Scene Management, UI, Tutorial

Поле Новый элемент вставляется перед выбранным элементом.

Добавление команд в меню

  1. Создание меню. Затем выберите имя меню, например Файл. Каждое меню разворачивается и открывает поле нового пункта для команд. Например, можно добавить команды Создать, Открыть и Закрыть в меню Файл .
  2. В поле нового пункта введите имя для новой команды меню.

Совет Можно определить мнемонический ключ (сочетание клавиш), с помощью которого пользователь может выбрать команду меню. Введите амперсанд ( VERIFY(menu.LoadMenu(IDR_MENU1)); CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
Примечание Точка CPoint, переданная обработчиком сообщений, находится в экранных координатах.

Обычно при работе в редакторе меню ресурс меню отображается в виде строки меню. Однако у вас могут оказаться ресурсы, добавленные в строку меню приложения, во время работы программы.

  • Чтобы просмотреть ресурс меню в виде всплывающего меню, щелкните его правой кнопкой мыши и выберите пункт Просмотреть как всплывающее меню. Этот параметр является только параметров просмотра и не изменяет меню.
Читайте также:
Всегда открывать с помощью этой программы как убрать Андроид

Чтобы вернуться к представлению строки меню, снова выберите Вид как всплывающее окно . Это действие удаляет метку проверка и возвращает представление строки меню.

Источник: learn.microsoft.com

Как сделать меню программ

Для создания меню в Windows Forms применяется элемент MenuStrip . Данный класс унаследован от ToolStrip и поэтому наследует его функциональность.

Наиболее важные свойства компонента MenuStrip:

  • Dock : прикрепляет меню к одной из сторон формы
  • LayoutStyle : задает ориентацию панели меню на форме. Может также, как и с ToolStrip, принимать следующие значения
  • HorizontalStackWithOverflow : расположение по горизонтали с переполнением — если длина меню превышает длину контейнера, то новые элементы, выходящие за границы контейнера, не отображаются, то есть панель переполняется элементами
  • StackWithOverflow : элементы располагаются автоматически с переполнением
  • VerticalStackWithOverflow : элементы располагаются вертикально с переполнением
  • Flow : элементы размещаются автоматически, но без переполнения — если длина панели меню меньше длины контейнера, то выходящие за границы элементы переносятся
  • Table : элементы позиционируются в виде таблицы

MenuStrip выступает своего рода контейнером для отдельных пунктов меню, которые представлены объектом ToolStripMenuItem .

ДЕЛАЕМ WINDOWS 10 КРАСИВЕЕ И УДОБНЕЕ | Топ ЛУЧШИХ программ и настроек для прокачки ПК

Добавить новые элементы в меню можно в режиме дизайнера:

Меню в C# и Windows Forms

Для добавления доступно три вида элементов: MenuItem (объект ToolStripMenuItem), ComboBox и TextBox . Таким образом, в меню мы можем использовать выпадающие списки и текстовые поля, однако, как правило, эти элементы применяются в основном на панели инструментов. Меню же обычно содержит набор объектов ToolStripMenuItem.

Также мы можем добавить пункты меню в коде C#:

public partial class Form1 : Form < public Form1() < InitializeComponent(); ToolStripMenuItem fileItem = new ToolStripMenuItem(«Файл»); fileItem.DropDownItems.Add(«Создать»); fileItem.DropDownItems.Add(new ToolStripMenuItem(«Сохранить»)); menuStrip1.Items.Add(fileItem); ToolStripMenuItem aboutItem = new ToolStripMenuItem(«О программе»); aboutItem.Click += aboutItem_Click; menuStrip1.Items.Add(aboutItem); >void aboutItem_Click(object sender, EventArgs e) < MessageBox.Show(«О программе»); >>

ToolStripMenuItem в конструкторе принимает текстовую метку, которая будет использоваться в качестве текста меню. Каждый подобный объект имеет коллекцию DropDownItems , которая хранит дочерние объекты ToolStripMenuItem. То есть один элемент ToolStripMenuItem может содержать набор других объектов ToolStripMenuItem. И таким образом, образуется иерархическое меню или структура в виде дерева.

Читайте также:
Как получить дополнительную лицензию на программу 1с

Если передать при добавление строку текста, то для нее неявным образом будет создан объект ToolStripMenuItem: fileItem.DropDownItems.Add(«Создать»)

Назначив обработчики для события Click , мы можем обработать нажатия на пункты меню: aboutItem.Click += aboutItem_Click

Отметки пунктов меню

Свойство CheckOnClick при значении true позволяет на клику отметить пункт меню. А с помощью свойства Checked можно установить, будет ли пункт меню отмечен при запуске программы.

Еще одно свойство CheckState возвращает состояние пункта меню — отмечен он или нет. Оно может принимать три значения: Checked (отмечен), Unchecked (неотмечен) и Indeterminate (в неопределенном состоянии)

Например, создадим ряд отмеченных пунктов меню и обработаем событие установки / снятия отметки:

public partial class Form1 : Form < public Form1() < InitializeComponent(); ToolStripMenuItem fileItem = new ToolStripMenuItem(«Файл»); ToolStripMenuItem newItem = new ToolStripMenuItem(«Создать») < Checked = true, CheckOnClick = true >; fileItem.DropDownItems.Add(newItem); ToolStripMenuItem saveItem = new ToolStripMenuItem(«Сохранить») < Checked = true, CheckOnClick = true >; saveItem.CheckedChanged += menuItem_CheckedChanged; fileItem.DropDownItems.Add(saveItem); menuStrip1.Items.Add(fileItem); > void menuItem_CheckedChanged(object sender, EventArgs e) < ToolStripMenuItem menuItem = sender as ToolStripMenuItem; if (menuItem.CheckState == CheckState.Checked) MessageBox.Show(«Отмечен»); else if (menuItem.CheckState == CheckState.Unchecked) MessageBox.Show(«Отметка снята»); >>

Клавиши быстрого доступа

Если нам надо быстро обратиться к какому-то пункту меню, то мы можем использовать клавиши быстрого доступа. Для задания клавиш быстрого доступа используется свойство ShortcutKeys :

public partial class Form1 : Form < public Form1() < InitializeComponent(); ToolStripMenuItem fileItem = new ToolStripMenuItem(«Файл»); ToolStripMenuItem saveItem = new ToolStripMenuItem(«Сохранить») < Checked = true, CheckOnClick = true >; saveItem.Click+=saveItem_Click; saveItem.ShortcutKeys = Keys.Control | Keys.P; fileItem.DropDownItems.Add(saveItem); menuStrip1.Items.Add(fileItem); > void saveItem_Click(object sender, EventArgs e) < MessageBox.Show(«Сохранение»); >>

Клавиши задаются с помощью перечисления Keys . В данном случае по нажатию на комбинацию клавиш Ctrl + P, будет срабатывать нажатие на пункт меню «Сохранить».

С помощью изображений мы можем разнообразить внешний вид пунктов меню. Для этого мы можем использовать следующие свойства:

  • DisplayStyle : определяет, будет ли отображаться на элементе текст, или изображение, или и то и другое.
  • Image : указывает на само изображение
  • ImageAlign : устанавливает выравнивание изображения относительно элемента
  • ImageScaling : указывает, будет ли изображение растягиваться, чтобы заполнить все пространство элемента
  • ImageTransparentColor : указывает, будет ли цвет изображения прозрачным
Читайте также:
Алгоритм поиска фильтрации и сортировки данных в программе excel

Если изображение для пункта меню устанавливает в режиме дизайнера, то нам надо выбрать в окне свойство пункт Image, после чего откроется окно для импорта ресурса изображения в проект

Чтобы указать, как разместить изображение, у свойства DisplayStyle надо установить значение Image . Если мы хотим, чтобы кнопка отображала только текст, то надо указать значение Text , либо можно комбинировать два значения с помощью другого значения ImageAndText . По умолчанию изображение размещается слева от текста:

Изображения в меню в Windows Forms

Также можно установить изображение динамически в коде:

Источник: metanit.com

Пример создания меню в C#. Элемент управления menuStrip

Создать приложение типа Windows Forms Application . На форме приложения создать меню по образцу, как показано на рисунке 1.

Программа - меню

Рис. 1. Меню, которое нужно создать

Выполнение

1. Запустить Microsoft Visual Studio. Создать проект по шаблону Windows Forms Application

Подробный пример создания проекта по шаблону Windows Forms Application описывается здесь .

Сохранить проект под произвольным именем.

2. Элемент управления MenuStrip

Для создания меню используется элемент управления MenuStrip . Он размещается на панели Toolbox во вкладке « Menus

  • ComboBox – элемент меню типа «нисходящий список»;
  • TextBox – элемент меню типа «поле ввода».
  • В нашем случае выбираем первый вариант MenuItem .

    C# Windows Forms Типы элементов меню

    Рис. 4. Типы элементов меню

    Для создания подменю File достаточно набрать текст « File » (рис. 5). С помощью мышки и клавиатуры, можно добавлять элементы меню. Для удаления элемента меню, его предварительно нужно выделить мышкой и нажать клавишу Delete .

    C# Windows Forms Создание подменю File

    Рис. 5. Создание подменю File

    После создания всех элементов меню, форма приложения примет вид, как показано на рисунке 6.

    C# Windows Forms Форма приложения

    Рис. 6. Форма приложения после создания меню

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

    Связанные темы

    • Пример создания и вызова новой формы приложения в C#
    • Создание приложения Windows Forms Application в MS Visual Studio 2010

    Источник: www.bestprog.net

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru