MenuItem 类

定义

表示在 MainMenuContextMenu 内显示的单个项。

此类在 .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个名为 的对象和四MenuItem个名为 mainMenu1menuItem1menuItem2menuItem3menuItem4的对象。

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。 若要创建子菜单,可以将 对象添加到MenuItemMenuItemsMenuItem的 属性。

MenuItem 提供属性,使你能够配置菜单项的外观和功能。 若要在菜单项旁边显示检查标记,请使用 Checked 属性。 可以使用此功能来标识在互斥菜单项列表中选择的菜单项。 例如,如果有一组菜单项用于设置控件中的 TextBox 文本颜色,则可以使用 Checked 属性来标识当前选择的颜色。 属性 Shortcut 可用于定义可按下以选择菜单项的键盘组合。

对于 MenuItem 多文档界面 (MDI) 应用程序中显示的对象,可以使用 MergeMenu 方法将 的 MDI 父菜单与其子窗体的菜单合并,以创建合并的菜单结构。 MenuItem由于 不能同时在多个位置(例如 在 和 ContextMenuMainMenu)重复使用,因此可以使用 CloneMenu 方法创建 MenuItem 的副本,以便在其他位置使用。

事件 Popup 使您能够在显示菜单之前执行任务。 例如,可以为此事件创建事件处理程序,以便根据代码的状态显示或隐藏菜单项。 事件 Select 使你能够执行一些任务,例如,当用户将鼠标指针放在菜单项上时,为应用程序的菜单项提供详细帮助。

构造函数

MenuItem()

使用空白标题初始化 MenuItem

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

用指定标题、为(MenuItemClickSelect)事件定义的事件处理程序、快捷键、合并类型和为菜单项指定的顺序来初始化 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

获取包含 IContainerComponent

(继承自 Component)
DefaultItem

获取或设置一个值,通过该值指示菜单项是否为默认菜单项。

DesignMode

获取一个值,用以指示 Component 当前是否处于设计模式。

(继承自 Component)
Enabled

获取或设置一个值,通过该值指示菜单项是否启用。

Events

获取附加到此 Component 的事件处理程序的列表。

(继承自 Component)
Handle

获取表示菜单的窗口句柄的值。

(继承自 Menu)
Index

获取或设置一个值,通过该值指示菜单项在其父菜单中的位置。

IsParent

获取一个值,通过该值指示菜单项是否包含子菜单项。

MdiList

获取或设置一个值,通过该值指示是否使用在关联窗体内显示的多文档界面 (MDI) 子窗口列表来填充菜单项。

MdiListItem

获取一个值,通过该值指示用于显示多文档界面 (MDI) 子窗体列表的 MenuItem

(继承自 Menu)
MenuID

获取一个值,通过该值指示此菜单项的 Windows 标识符。

MenuItems

获取一个值,通过该值指示与菜单关联的 MenuItem 对象的集合。

(继承自 Menu)
MergeOrder

获取或设置一个值,通过该值指示菜单项与另一个项合并时的相对位置。

MergeType

获取或设置一个值,通过该值指示该菜单项的菜单与另一个菜单合并时该菜单项的行为。

Mnemonic

获取一个值,通过该值指示与此菜单项关联的助记字符。

Name

获取或设置 Menu 的名称。

(继承自 Menu)
OwnerDraw

获取或设置一个字值,通过该值指示是由所提供的代码绘制菜单项还是由 Windows 绘制菜单项。

Parent

获取一个值,该值指示包含此菜单项的菜单。

RadioCheck

获取或设置一个值,通过该值指示 MenuItem(如果已选中)是否显示单选按钮而不是选中标记。

Shortcut

获取或设置一个值,通过该值指示与菜单项关联的快捷键。

ShowShortcut

获取或设置一个值,通过该值指示与菜单项关联的快捷键是否在菜单项标题的旁边显示。

Site

获取或设置 ComponentISite

(继承自 Component)
Tag

获取或设置与控件关联的用户定义的数据。

(继承自 Menu)
Text

获取或设置一个值,通过该值指示菜单项标题。

Visible

获取或设置一个值,通过该值指示菜单项是否可见。

方法

CloneMenu()

创建当前 MenuItem 的副本。

CloneMenu(Menu)

复制作为参数被传递到当前 MenuMenu

(继承自 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

当用户将指针放在菜单项上时发生。

适用于

另请参阅