您的位置:首页 > 其它

向 Windows 窗体添加菜单和菜单项

2016-01-21 06:34 411 查看
Windows 窗体上的菜单是使用 MainMenu 对象创建的,该对象是一个 MenuItem 对象集合。可以在设计时向 Windows 窗体添加菜单,方法是添加MainMenu 组件然后使用菜单设计器向其追加菜单项。还可以用编程方法添加菜单,方法是向 Windows 窗体添加一个或多个 MainMenu 对象并向该集合中添加 MenuItem 对象。本主题中的过程说明如何使用菜单设计器或代码创建一个名为
File 的简单菜单。

在设计时向 Windows 窗体添加菜单
在 Windows 窗体设计器中打开要将菜单添加到的窗体。
在“工具箱”中双击 MainMenu 组件。

一个菜单被添加到窗体中(该窗体显示文本“请在此处输入”),同时 MainMenu 组件添加到了组件栏中。

以编程方式向 Windows 窗体添加菜单
在代码编辑器中,创建一个新公共方法,其中包含将菜单添加到窗体的代码。有关打开代码编辑器的更多信息,请参见在设计器中显示 Windows 窗体

' Visual Basic
Public Sub AddMenu()

End Sub

// C#
public void AddMenu(){

}

// C++
public:
void AddMenu()
{

}


在该方法内添加类似于以下内容的代码,以创建 MainMenu 组件的实例:

' Visual Basic
Dim mnuFileMenu as New MainMenu()
Me.Menu = mnuFileMenu

// C#
MainMenu mnuFileMenu = new MainMenu();
this.Menu = mnuFileMenu;

// C++
MainMenu *mnuFileMenu = new MainMenu();
this->Menu = mnuFileMenu;


将 MainMenu 组件添加到 Windows 窗体后,需要向其添加菜单项。菜单设计器可让您在设计时向菜单组件添加菜单项。菜单内容保存在一个集合内,所以可在运行时通过向此集合添加 MenuItem 对象来向菜单添加菜单项。

在设计时向菜单添加菜单项
单击 Windows 窗体上的 MainMenu 组件。

显示文本“请在此处输入”。

单击显示的文本,然后键入所需菜单项的名称以添加它。
若要添加另一个菜单项,请单击“菜单设计器”内的另一个“请在此处输入”区域。
单击当前菜单项右侧的区域以添加子菜单。

- 或 -

单击当前菜单项下方的区域,以便将另一个项添加到同一菜单中。

以编程方式向菜单添加菜单项
如果还没有 MainMenu 组件,则向公共方法内的 Windows 窗体添加一个 MainMenu 组件,并将一个 MainMenu 类的实例分配给该窗体的Menu 属性。有关集合的更多信息,请参见对象之间的关系

' Visual Basic
Public Sub AddMenuAndItems()
Dim mnuFileMenu as New MainMenu()
Me.Menu = mnuFileMenu
End Sub

// C#
public void AddMenuAndItems(){
MainMenu mnuFileMenu = new MainMenu();
this.Menu = mnuFileMenu;
}

// C++
public:
void AddMenu()
{
MainMenu *mnuFileMenu = new MainMenu();
this->Menu = mnuFileMenu;
}


在该方法内,创建要添加到 MainMenu 对象的集合中的 MenuItem 对象:

' Visual Basic
Dim myMenuItemFile as New MenuItem("&File")
Dim myMenuItemNew as New MenuItem("&New")

// C#
MenuItem myMenuItemFile = new MenuItem("&File");
MenuItem myMenuItemNew = new MenuItem("&New");

// C++
MenuItem *myMenuItemFile = new MenuItem(S"&File");
MenuItem *myMenuItemNew = new MenuItem(S"&New");


注意   默认情况下,MainMenu 对象不包含菜单项,所以添加的第一个菜单项成为菜单标题。这就是 
myMenuItemFile
 的 Text属性设置为 
&File
 的原因。

在该方法内,分配顶级菜单项并向其添加后面的菜单项:

' Visual Basic
mnuFileMenu.MenuItems.Add(myMenuItemFile)
myMenuItemFile.MenuItems.Add(myMenuItemNew)

// C#
mnuFileMenu.MenuItems.Add(myMenuItemFile);
myMenuItemFile.MenuItems.Add(myMenuItemNew);

// C++
mnuFileMenu->MenuItems->Add(myMenuItemFile);
myMenuItemFile->MenuItems->Add(myMenuItemNew);


注意   若要创建子菜单,可将 MenuItem 对象添加到父 MenuItem 的 MenuItems 属性中。对于上面的示例,如果希望将第三个菜单项 (
myMenuItemFolder
)
作为第二个菜单项 (
myMenuItemNew
) 的子菜单添加,则应包括下列代码行:

' Visual Basic
Dim myMenuItemFolder as New MenuItem("&Folder")
myMenuItemNew.MenuItems.Add(myMenuItemFolder)

// C#
MenuItem myMenuItemFolder = new MenuItem("&Folder");
myMenuItemNew.MenuItems.Add(myMenuItemFolder);

// C++
MenuItem *myMenuItemFolder = new MenuItem(S"&Folder");
myMenuItemNew->MenuItems->Add(myMenuItemFolder);


菜单项也可在创建时动态添加,属性也是这样,可在创建和添加菜单项时设置。例如,若要向上面的集合中添加第四个菜单项,请输入下列代码:

' Visual Basic
mnuFileMenu.MenuItems.Add("Save &As")

// C#
mnuFileMenu.MenuItems.Add("Save &As");

// C++
mnuFileMenu->MenuItems->Add("Save &As");


有关向 MenuItems 集合中添加菜单项时动态创建菜单项的更多信息,请参见 Menu.MenuItemCollection
类。


向菜单项添加功能

最后,建立菜单结构后,需要为菜单项提供功能。通常需要通过 MenuItem.Click 事件的事件处理程序做到这一点。有关事件处理程序的更多信息,请参见 Windows
窗体中事件处理程序的介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: