MenuItem 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示在 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个名为 的对象和四MenuItem个名为 mainMenu1
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。 若要创建子菜单,可以将 对象添加到MenuItemMenuItems父 MenuItem的 属性。
类 MenuItem 提供属性,使你能够配置菜单项的外观和功能。 若要在菜单项旁边显示检查标记,请使用 Checked 属性。 可以使用此功能来标识在互斥菜单项列表中选择的菜单项。 例如,如果有一组菜单项用于设置控件中的 TextBox 文本颜色,则可以使用 Checked 属性来标识当前选择的颜色。 属性 Shortcut 可用于定义可按下以选择菜单项的键盘组合。
对于 MenuItem 多文档界面 (MDI) 应用程序中显示的对象,可以使用 MergeMenu 方法将 的 MDI 父菜单与其子窗体的菜单合并,以创建合并的菜单结构。 MenuItem由于 不能同时在多个位置(例如 在 和 ContextMenu中MainMenu)重复使用,因此可以使用 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 |
获取一个值,通过该值指示用于显示多文档界面 (MDI) 子窗体列表的 MenuItem。 (继承自 Menu) |
MenuID |
获取一个值,通过该值指示此菜单项的 Windows 标识符。 |
MenuItems |
获取一个值,通过该值指示与菜单关联的 MenuItem 对象的集合。 (继承自 Menu) |
MergeOrder |
获取或设置一个值,通过该值指示菜单项与另一个项合并时的相对位置。 |
MergeType |
获取或设置一个值,通过该值指示该菜单项的菜单与另一个菜单合并时该菜单项的行为。 |
Mnemonic |
获取一个值,通过该值指示与此菜单项关联的助记字符。 |
Name |
获取或设置 Menu 的名称。 (继承自 Menu) |
OwnerDraw |
获取或设置一个字值,通过该值指示是由所提供的代码绘制菜单项还是由 Windows 绘制菜单项。 |
Parent |
获取一个值,该值指示包含此菜单项的菜单。 |
RadioCheck |
获取或设置一个值,通过该值指示 MenuItem(如果已选中)是否显示单选按钮而不是选中标记。 |
Shortcut |
获取或设置一个值,通过该值指示与菜单项关联的快捷键。 |
ShowShortcut |
获取或设置一个值,通过该值指示与菜单项关联的快捷键是否在菜单项标题的旁边显示。 |
Site | (继承自 Component) |
Tag |
获取或设置与控件关联的用户定义的数据。 (继承自 Menu) |
Text |
获取或设置一个值,通过该值指示菜单项标题。 |
Visible |
获取或设置一个值,通过该值指示菜单项是否可见。 |
方法
事件
Click |
当单击菜单项或使用为该菜单项定义的快捷键或访问键选择菜单项时发生。 |
Disposed |
在通过调用 Dispose() 方法释放组件时发生。 (继承自 Component) |
DrawItem |
当菜单项的 OwnerDraw 属性设置为 |
MeasureItem |
当菜单在绘制菜单项之前需要知道菜单项大小时发生。 |
Popup |
在显示菜单项的菜单项列表之前发生。 |
Select |
当用户将指针放在菜单项上时发生。 |