使用结合ADD如:示例
下面的示例创建窗体的菜单结构。该示例代码添加一个 MenuItem 来表示顶级菜单项,再向其添加一个子菜单项以供选择字体大小,然后向该菜单项添加两个子菜单项,它们分别表示应用程序中的大字体选项和小字体选项。该示例假定有一个名为 mainMenu1 的 MainMenu 对象和四个分别名为 menuItem1、menuItem2、menuItem3 和 menuItem4 的 MenuItem 对象。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);
}
如果要遍历使用foreach
下面的示例创建窗体的菜单结构。该示例代码添加一个 MenuItem 来表示顶级菜单项,再向其添加一个子菜单项以供选择字体大小,然后向该菜单项添加两个子菜单项,它们分别表示应用程序中的大字体选项和小字体选项。该示例假定有一个名为 mainMenu1 的 MainMenu 对象和四个分别名为 menuItem1、menuItem2、menuItem3 和 menuItem4 的 MenuItem 对象。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);
}
如果要遍历使用foreach
{
MenuItem[] pp=new MenuItem[3];
MenuItem[] mm;
pp[0]=new MenuItem("文件");
mm=new MenuItem[2];
mm[0]=new MenuItem("打开",new EventHandler(this.Button1_Click),Shortcut.CtrlO);
mm[1]=new MenuItem("关闭",new EventHandler(this.Button1_Click),Shortcut.None);
pp[0].MenuItems.AddRange(mm);
pp[1]=new MenuItem("编辑");
mm=new MenuItem[1];
mm[0]=new MenuItem("复制",new EventHandler(this.Button1_Click),Shortcut.CtrlC);
pp[1].MenuItems.AddRange(mm);
pp[2]=new MenuItem("窗口");
mm=new MenuItem[2];
mm[0]=new MenuItem("横排",new EventHandler(this.Button1_Click),Shortcut.CtrlH);
mm[1]=new MenuItem("竖排",new EventHandler(this.Button1_Click),Shortcut.CtrlS);
pp[2].MenuItems.AddRange(mm);
this.Menu=new MainMenu(pp);
}
private void Button1_Click(object sender, System.EventArgs e)
{
MessageBox.Show("ok");
}
//
// menuItem1
//
this.menuItem1.Index = 0;
this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem5,
this.menuItem6,
this.menuItem2});
this.menuItem1.OwnerDraw = true;
this.menuItem1.Text = "&File";
this.menuItem1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.menuItem1_DrawItem);
//
// menuItem2
//
this.menuItem2.Index = 2;
this.menuItem2.Text = "E&xit";
//
// menuItem3
//
this.menuItem3.Index = 1;
this.menuItem3.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem4});
this.menuItem3.Text = "&Tool";
//
// menuItem4
//
this.menuItem4.Index = 0;
this.menuItem4.Text = "&Option";
//
// menuItem5
//
this.menuItem5.Index = 0;
this.menuItem5.Text = "&New";
//
// menuItem6
//
this.menuItem6.Index = 1;
this.menuItem6.Text = "-";