Menu 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示所有菜单的基本功能。
此类在 .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 用于选择字号的子菜单项,然后将两个子菜单项添加到代表应用程序中大字体和小字体选项的菜单项。 该示例要求有一个名为的对象mainMenu1
和四MenuItemmenuItem1
个名为MainMenu、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 及更高版本中不可用。 请改用 ToolStripDropDown 和 ToolStripDropDownMenu。
此类是和类的MainMenuMenuItemContextMenu基类。 不能创建此类的实例。 应用程序的菜单由对象组成 MenuItem 。 这些对象可以包含其他 MenuItem 对象,表示子菜单项。 MenuItem对象可以存储在MainMenu窗体的整个菜单结构或用于显示快捷菜单的整个ContextMenu菜单结构中。 此类提供所有菜单类通用的功能。
与许多基类不同,该 Menu 类使用其派生类来定义其许多属性。 如果在多文档界面中使用菜单 (MDI) 应用程序,则可以使用该 MdiListItem 属性指定一个 MenuItem 在应用程序中显示打开的 MDI 子窗体的列表。 该 MenuItems 属性包含存储在菜单类中的对象列表 MenuItem 。 对于或MainMenuContextMenu,此属性包含显示的所有MenuItem对象。 对于 a MenuItem,该 MenuItems 属性表示与其关联的子菜单项。
除了为所有派生菜单类提供的属性外,该 Menu 类还提供方法,例如 CloneMenu ,以及 MergeMenu,使你能够从现有菜单创建新菜单,同时将两个菜单结构合并在一起。
该 Menu 类还定义嵌套类 Menu.MenuItemCollection。 此类定义属性使用MenuItems的对象集合MenuItem。 You can use the methods of the Menu.MenuItemCollection class to add and remove menu items from a MainMenu, ContextMenu, or 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 |
获取一个值,通过该值指示用于显示多文档界面 (MDI) 子窗体列表的 MenuItem。 |
MenuItems |
获取一个值,通过该值指示与菜单关联的 MenuItem 对象的集合。 |
Name |
获取或设置 Menu 的名称。 |
Site | (继承自 Component) |
Tag |
获取或设置与控件关联的用户定义的数据。 |
方法
CloneMenu(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() |
事件
Disposed |
在通过调用 Dispose() 方法释放组件时发生。 (继承自 Component) |