Поделиться через


MenuItem Класс

Определение

Представляет отдельный элемент, отображаемый в меню MainMenu или ContextMenu.

Этот класс недоступен в .NET Core 3.1 и более поздних версиях. Используйте ToolStripMenuItem вместо него , который заменяет MenuItem элемент управления .

public ref class MenuItem : System::Windows::Forms::Menu
public class MenuItem : System.Windows.Forms.Menu
type MenuItem = class
    inherit Menu
Public Class MenuItem
Inherits Menu
Наследование

Примеры

В следующем примере кода создается структура меню для формы. В примере кода добавляется MenuItem для представления пункта меню верхнего уровня, добавляется в него элемент подменю для выбора размера шрифта, а затем к этому элементу меню добавляются два элемента подменю, которые представляют большие и малые варианты шрифтов в приложении. В этом примере требуется объект с MainMenu именем mainMenu1 и четыре MenuItem объекта с именами menuItem1, menuItem2, menuItem3и menuItem4.

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 и более поздних версиях. Взамен рекомендуется использовать ToolStripMenuItem.

Для MenuItem отображения необходимо добавить его в MainMenu или ContextMenu. Чтобы создать подменю, можно добавить MenuItem объекты в MenuItems свойство родительского MenuItemобъекта .

Класс MenuItem предоставляет свойства, позволяющие настроить внешний вид и функциональность элемента меню. Чтобы отобразить проверка метку рядом с пунктом меню, используйте Checked свойство . Эту функцию можно использовать для идентификации пункта меню, выбранного в списке взаимоисключающих пунктов меню. Например, если у вас есть набор пунктов меню для настройки цвета текста в элементе TextBox управления, можно использовать Checked свойство , чтобы определить, какой цвет выбран в данный момент. Свойство Shortcut можно использовать для определения сочетания клавиатуры, которую можно нажимать для выбора пункта меню.

Для MenuItem объектов, отображаемых в приложении многодокументного интерфейса (MDI), можно использовать MergeMenu метод , чтобы объединить меню родительского элемента MDI с меню его дочерних форм, чтобы создать консолидированную структуру меню. MenuItem Так как нельзя повторно использовать в нескольких расположениях одновременно, например в MainMenu и ContextMenu, можно использовать CloneMenu метод для создания копии для использования в другом расположенииMenuItem.

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

Конструкторы

MenuItem()

Инициализирует элемент MenuItem без надписи.

MenuItem(MenuMerge, Int32, Shortcut, String, EventHandler, EventHandler, EventHandler, MenuItem[])

Инициализирует новый экземпляр класса MenuItem с заданной надписью. Определяет обработчики событий для событий Click, Select и Popup, сочетание клавиш, тип слияния и порядок, задаваемый для данного элемента меню.

MenuItem(String)

Инициализирует новый экземпляр класса MenuItem с заданной надписью для элемента меню.

MenuItem(String, EventHandler)

Инициализирует новый экземпляр класса с заданной надписью и обработчиком для события Click данного элемента меню.

MenuItem(String, EventHandler, Shortcut)

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

MenuItem(String, MenuItem[])

Инициализирует новый экземпляр класса с заданной подписью и массивом элементов вложенного меню для данного элемента меню.

Поля

FindHandle

Указывает, что метод FindMenuItem(Int32, IntPtr) должен выполнять поиск дескриптора.

(Унаследовано от Menu)
FindShortcut

Указывает, что метод FindMenuItem(Int32, IntPtr) должен выполнять поиск ярлыка.

(Унаследовано от Menu)

Свойства

BarBreak

Получает или задает значение, показывающее, размещается ли MenuItem в новой строке (для элемента меню, добавленного к объекту MainMenu) или в новом столбце (для элемента вложенного меню или элемента меню, отображаемого в ContextMenu).

Break

Получает или задает значение, показывающее, размещается ли элемент на новой строке (для элемента меню, добавленного к объекту MainMenu) или в новом столбце (для элемента меню или элемента вложенного меню, отображаемого в ContextMenu).

CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.

(Унаследовано от Component)
Checked

Возвращает или задает значение, указывающее, будет ли отображаться флажок рядом с текстом элемента меню.

Container

Возвращает объект IContainer, который содержит коллекцию Component.

(Унаследовано от Component)
DefaultItem

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

DesignMode

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.

(Унаследовано от Component)
Enabled

Возвращает или задает значение, указывающее, включен ли элемент меню.

Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.

(Унаследовано от Component)
Handle

Получает значение, представляющее дескриптор окна для меню.

(Унаследовано от Menu)
Index

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

IsParent

Возвращает значение, указывающее, содержит ли данный элемент меню дочерние элементы меню.

MdiList

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

MdiListItem

Получает значение, указывающее объект MenuItem, используемый для отображения списка дочерних форм многодокументного интерфейса (MDI).

(Унаследовано от Menu)
MenuID

Возвращает значение, указывающее идентификатор Windows для данного элемента меню.

MenuItems

Получает значение, показывающее коллекцию объектов MenuItem, связанных с данным меню.

(Унаследовано от Menu)
MergeOrder

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

MergeType

Возвращает или задает значение, указывающее поведение данного элемента меню при слиянии его меню с другим меню.

Mnemonic

Возвращает значение, указывающее назначенный символ, связанный с данным элементом меню.

Name

Возвращает или задает имя таблицы для объекта Menu.

(Унаследовано от Menu)
OwnerDraw

Возвращает или задает значение, определяющее, будет элемент меню рисоваться с помощью передаваемого кода или средствами Windows.

Parent

Возвращает значение, указывающее меню, содержащее данный элемент меню.

RadioCheck

Получает или задает значение, показывающее, будет ли в случае выбора элемента MenuItem выводиться переключатель, а не флажок.

Shortcut

Возвращает или задает значение, указывающее сочетание клавиш для данного элемента меню.

ShowShortcut

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

Site

Получает или задает ISite объекта Component.

(Унаследовано от Component)
Tag

Получает или задает определяемые пользователем данные, связанные с элементом управления.

(Унаследовано от Menu)
Text

Возвращает или задает значение, указывающее подпись данного элемента меню.

Visible

Возвращает или задает значение, указывающее, будет ли видимым данный элемент меню.

Методы

CloneMenu()

Создает копию текущего поставщика MenuItem.

CloneMenu(Menu)

Копирует объект Menu, передаваемый в качестве параметра в текущий объект Menu.

(Унаследовано от Menu)
CloneMenu(MenuItem)

Создает копию заданного объекта MenuItem.

CreateMenuHandle()

Создает новый дескриптор для объекта Menu.

(Унаследовано от Menu)
CreateObjRef(Type)

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

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, занятые модулем Component.

(Унаследовано от Component)
Dispose(Boolean)

Уничтожает ресурсы (кроме памяти), используемые классом MenuItem.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindMenuItem(Int32, IntPtr)

Получает объект MenuItem, содержащий указываемое значение.

(Унаследовано от Menu)
FindMergePosition(Int32)

Возвращает позицию меню, в которую должен быть вставлен элемент меню.

(Унаследовано от Menu)
GetContextMenu()

Получает объект ContextMenu, содержащий это меню.

(Унаследовано от Menu)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetMainMenu()

Получает объект MainMenu, содержащий это меню.

(Унаследовано от Menu)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container.

(Унаследовано от Component)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
MergeMenu()

Выполняет слияние этого элемента MenuItem с другим элементом MenuItem и возвращает элемент MenuItem, полученный в результате слияния.

MergeMenu(Menu)

Объединяет объекты MenuItem одного меню с текущим меню.

(Унаследовано от Menu)
MergeMenu(MenuItem)

Выполняет слияние другого элемента меню с данным элементом.

OnClick(EventArgs)

Вызывает событие Click.

OnDrawItem(DrawItemEventArgs)

Вызывает событие DrawItem.

OnInitMenuPopup(EventArgs)

Вызывает событие Popup.

OnMeasureItem(MeasureItemEventArgs)

Вызывает событие MeasureItem.

OnPopup(EventArgs)

Вызывает событие Popup.

OnSelect(EventArgs)

Вызывает событие Select.

PerformClick()

Создает событие Click, имитирующее щелчок мышью для элемента MenuItem.

PerformSelect()

Вызывает событие Select для данного элемента меню.

ProcessCmdKey(Message, Keys)

Обрабатывает клавишу для команд.

(Унаследовано от Menu)
ToString()

Возвращает строку, представляющую объект MenuItem.

События

Click

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

Disposed

Возникает при удалении компонента путем вызова метода Dispose().

(Унаследовано от Component)
DrawItem

Вызывается, когда свойство OwnerDraw элемента меню устанавливается в значение true и выполняется запрос на отображение данного элемента меню.

MeasureItem

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

Popup

Происходит перед отображением списка элементов меню.

Select

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

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

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