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)

Применяется к

См. также раздел