Menu Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет базовые возможности всех меню.
Этот класс недоступен в .NET Core 3.1 и более поздних версиях. Вместо него следует использовать ToolStripDropDown и ToolStripDropDownMenu, которые заменяют и расширяют элемент управления Menu.
public ref class Menu abstract : System::ComponentModel::Component
[System.ComponentModel.ListBindable(false)]
public abstract class Menu : System.ComponentModel.Component
[<System.ComponentModel.ListBindable(false)>]
type Menu = class
inherit Component
Public MustInherit Class Menu
Inherits Component
- Наследование
- Производный
- Атрибуты
Примеры
В следующем примере кода используется производный класс MenuItemдля создания структуры меню для формы. В примере кода добавляется MenuItem элемент меню верхнего уровня, в него добавляется элемент подменю для выбора размера шрифта, а затем в этот пункт меню добавляются два подменю, представляющих крупные и небольшие варианты шрифтов в приложении. В этом примере требуется, чтобы существует объект с именами и четырьмя MainMenu MenuItem объектами с именами menuItem1
, menuItem2
и menuItem3``menuItem4
.mainMenu1
public:
void CreateMyMenu()
{
// Set the caption for the top-level menu item.
menuItem1->Text = "Edit";
// Set the caption for the first submenu.
menuItem2->Text = "Font Size";
// Set the caption for menuItem2's first submenu.
menuItem3->Text = "Small";
// Set the checked property to true since this is the default value.
menuItem3->Checked = true;
// Define a shortcut key combination for the menu item.
menuItem3->Shortcut = Shortcut::CtrlS;
// Set the caption of the second sub menu item of menuItem2.
menuItem4->Text = "Large";
// Define a shortcut key combination for the menu item.
menuItem4->Shortcut = Shortcut::CtrlL;
// Set the index of the menu item so it is placed below the first submenu item.
menuItem4->Index = 1;
// Add menuItem3 and menuItem4 to menuItem2's list of menu items.
menuItem2->MenuItems->Add( menuItem3 );
menuItem2->MenuItems->Add( menuItem4 );
// Add menuItem2 to menuItem1's list of menu items.
menuItem1->MenuItems->Add( menuItem2 );
// Add menuItem1 to the MainMenu for displaying.
mainMenu1->MenuItems->Add( menuItem1 );
}
public void CreateMyMenu()
{
// Set the caption for the top-level menu item.
menuItem1.Text = "Edit";
// Set the caption for the first submenu.
menuItem2.Text = "Font Size";
// Set the caption for menuItem2's first submenu.
menuItem3.Text = "Small";
// Set the checked property to true since this is the default value.
menuItem3.Checked = true;
// Define a shortcut key combination for the menu item.
menuItem3.Shortcut = Shortcut.CtrlS;
// Set the caption of the second sub menu item of menuItem2.
menuItem4.Text = "Large";
// Define a shortcut key combination for the menu item.
menuItem4.Shortcut = Shortcut.CtrlL;
// Set the index of the menu item so it is placed below the first submenu item.
menuItem4.Index = 1;
// Add menuItem3 and menuItem4 to menuItem2's list of menu items.
menuItem2.MenuItems.Add(menuItem3);
menuItem2.MenuItems.Add(menuItem4);
// Add menuItem2 to menuItem1's list of menu items.
menuItem1.MenuItems.Add(menuItem2);
// Add menuItem1 to the MainMenu for displaying.
mainMenu1.MenuItems.Add(menuItem1);
}
Public Sub CreateMyMenu()
' Set the caption for the top-level menu item.
menuItem1.Text = "Edit"
' Set the caption for the first submenu.
menuItem2.Text = "Font Size"
' Set the caption for menuItem2's first submenu.
menuItem3.Text = "Small"
' Set the checked property to true since this is the default value.
menuItem3.Checked = True
' Define a shortcut key combination for the menu item.
menuItem3.Shortcut = Shortcut.CtrlS
' Set the caption of the second sub menu item of menuItem2.
menuItem4.Text = "Large"
' Define a shortcut key combination for the menu item.
menuItem4.Shortcut = Shortcut.CtrlL
' Set the index of the menu item so it is placed below the first submenu item.
menuItem4.Index = 1
' Add menuItem3 and menuItem4 to menuItem2's list of menu items.
menuItem2.MenuItems.Add(menuItem3)
menuItem2.MenuItems.Add(menuItem4)
' Add menuItem2 to menuItem1's list of menu items.
menuItem1.MenuItems.Add(menuItem2)
' Add menuItem1 to the MainMenu for displaying.
mainMenu1.MenuItems.Add(menuItem1)
End Sub
Комментарии
Этот класс недоступен в .NET Core 3.1 и более поздних версиях. Взамен используйте ToolStripDropDown и ToolStripDropDownMenu.
Этот класс является базовым классом для MainMenuMenuItemклассов и ContextMenu классов. Невозможно создать экземпляр этого класса. Меню для приложения состоят из MenuItem объектов. Они могут содержать другие MenuItem объекты, представляющие элементы подменю. Объекты MenuItem могут храниться в MainMenu виде всей структуры меню для формы или используемой ContextMenu для отображения контекстных меню. Этот класс предоставляет функциональные возможности, общие для всех классов меню.
В отличие от многих базовых классов, Menu класс использует производные классы для определения многих его свойств. Если вы используете меню в приложении многодокументного интерфейса (MDI), можно использовать MdiListItem свойство, чтобы указать MenuItem список открытых дочерних форм MDI в приложении. Свойство MenuItems содержит список объектов, MenuItem хранящихся в классе меню. Для a MainMenu или ContextMenu, это свойство содержит все MenuItem отображаемые объекты. MenuItemMenuItems Свойство представляет связанные с ним элементы подменю.
Помимо свойств, предоставляемых для всех производных классов меню, Menu класс также предоставляет методы, такие как CloneMenu и MergeMenu, которые позволяют создавать новые меню из существующих меню, а также объединять две структуры меню вместе.
Класс Menu также определяет вложенный класс Menu.MenuItemCollection. Этот класс определяет коллекцию объектов, используемых MenuItem свойством MenuItems . Методы Menu.MenuItemCollection класса можно использовать для добавления и удаления элементов меню из MainMenuэлемента управления , ContextMenuили MenuItem.
Конструкторы
Menu(MenuItem[]) |
Инициализирует новый экземпляр класса Menu. |
Поля
FindHandle |
Указывает, что метод FindMenuItem(Int32, IntPtr) должен выполнять поиск дескриптора. |
FindShortcut |
Указывает, что метод FindMenuItem(Int32, IntPtr) должен выполнять поиск ярлыка. |
Свойства
CanRaiseEvents |
Возвращает значение, показывающее, может ли компонент вызывать событие. (Унаследовано от Component) |
Container |
Возвращает объект IContainer, который содержит коллекцию Component. (Унаследовано от Component) |
DesignMode |
Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время. (Унаследовано от Component) |
Events |
Возвращает список обработчиков событий, которые прикреплены к этому объекту Component. (Унаследовано от Component) |
Handle |
Получает значение, представляющее дескриптор окна для меню. |
IsParent |
Получает значение, показывающее, содержит ли это меню какие-нибудь элементы меню. Это свойство доступно только для чтения. |
MdiListItem |
Получает значение, указывающее объект MenuItem, используемый для отображения списка дочерних форм многодокументного интерфейса (MDI). |
MenuItems |
Получает значение, показывающее коллекцию объектов MenuItem, связанных с данным меню. |
Name |
Возвращает или задает имя таблицы для объекта Menu. |
Site |
Получает или задает ISite объекта Component. (Унаследовано от Component) |
Tag |
Получает или задает определяемые пользователем данные, связанные с элементом управления. |
Методы
CloneMenu(Menu) |
Копирует объект Menu, передаваемый в качестве параметра в текущий объект Menu. |
CreateMenuHandle() |
Создает новый дескриптор для объекта Menu. |
CreateObjRef(Type) |
Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
Dispose() |
Освобождает все ресурсы, занятые модулем Component. (Унаследовано от Component) |
Dispose(Boolean) |
Уничтожает ресурсы (кроме памяти), используемые классом Menu. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
FindMenuItem(Int32, IntPtr) |
Получает объект MenuItem, содержащий указываемое значение. |
FindMergePosition(Int32) |
Возвращает позицию меню, в которую должен быть вставлен элемент меню. |
GetContextMenu() |
Получает объект ContextMenu, содержащий это меню. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetLifetimeService() |
Является устаревшей.
Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра. (Унаследовано от MarshalByRefObject) |
GetMainMenu() |
Получает объект MainMenu, содержащий это меню. |
GetService(Type) |
Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container. (Унаследовано от Component) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
InitializeLifetimeService() |
Является устаревшей.
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
MemberwiseClone(Boolean) |
Создает неполную копию текущего объекта MarshalByRefObject. (Унаследовано от MarshalByRefObject) |
MergeMenu(Menu) |
Объединяет объекты MenuItem одного меню с текущим меню. |
ProcessCmdKey(Message, Keys) |
Обрабатывает клавишу для команд. |
ToString() |
Возвращает объект String, который представляет элемент управления Menu. |
События
Disposed |
Возникает при удалении компонента путем вызова метода Dispose(). (Унаследовано от Component) |