Menu 类

定义

表示所有菜单的基本功能。

此类在 .NET Core 3.1 及更高版本中不可用。 请改用 ToolStripDropDownToolStripDropDownMenu,它们将替换和扩展 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个名为MainMenumenuItem2menuItem3menuItem4的对象。

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 及更高版本中不可用。 请改用 ToolStripDropDownToolStripDropDownMenu

此类是和类的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

获取包含 IContainerComponent

(继承自 Component)
DesignMode

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

(继承自 Component)
Events

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

(继承自 Component)
Handle

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

IsParent

获取一个值,通过该值指示此菜单是否包含任何菜单项。 此属性是只读的。

MdiListItem

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

MenuItems

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

Name

获取或设置 Menu 的名称。

Site

获取或设置 ComponentISite

(继承自 Component)
Tag

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

方法

CloneMenu(Menu)

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

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()

返回表示 String 控件的 Menu

事件

Disposed

在通过调用 Dispose() 方法释放组件时发生。

(继承自 Component)

适用于

另请参阅