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


MenuItem Класс

Определение

Внимание

Menu is provided for binary compatibility with .NET Framework and is not intended to be used directly from your code. Use ToolStripDropDown and ToolStripDropDownMenu instead.

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

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

public ref class MenuItem : System::Windows::Forms::Menu
public class MenuItem : System.Windows.Forms.Menu
[System.ComponentModel.Browsable(false)]
[System.Obsolete("`Menu` is provided for binary compatibility with .NET Framework and is not intended to be used directly from your code. Use `ToolStripDropDown` and `ToolStripDropDownMenu` instead.", false, DiagnosticId="WFDEV006", UrlFormat="https://aka.ms/winforms-warnings/{0}")]
public class MenuItem : System.Windows.Forms.Menu
type MenuItem = class
    inherit Menu
[<System.ComponentModel.Browsable(false)>]
[<System.Obsolete("`Menu` is provided for binary compatibility with .NET Framework and is not intended to be used directly from your code. Use `ToolStripDropDown` and `ToolStripDropDownMenu` instead.", false, DiagnosticId="WFDEV006", UrlFormat="https://aka.ms/winforms-warnings/{0}")>]
type MenuItem = class
    inherit Menu
Public Class MenuItem
Inherits Menu
Наследование
Атрибуты

Примеры

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

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 отобразиться, необходимо добавить его в или MainMenuContextMenu. Чтобы создать подменю, можно добавить MenuItem объекты в MenuItems свойство родительского MenuItemэлемента.

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

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

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

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

Имя Описание
MenuItem()
Устаревшие..

Инициализирует пустой MenuItem заголовок.

MenuItem(MenuMerge, Int32, Shortcut, String, EventHandler, EventHandler, EventHandler, MenuItem[])
Устаревшие..

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

MenuItem(String, EventHandler, Shortcut)
Устаревшие..

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

MenuItem(String, EventHandler)
Устаревшие..

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

MenuItem(String, MenuItem[])
Устаревшие..

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

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
Устаревшие..

Возвращает значение, указывающее символ 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
Устаревшие..

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

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

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