.NET 的 System.Windows.Forms.Form 類別擁有一個 MainMenu 型別的 Menu 屬性。只需將一個 MainMenu 物件指派給表單的 Menu 屬性,即可為表單新增主選單。
建立的主選單物件不包含任何選單項目,可透過 MenuItems 集合管理項目:
MainMenu menu1 = new MainMenu();
menu1.MenuItems.Add(new MenuItem("檔案(&F)"));
this.Menu = menu1;
建立時直接包含指定的選單項目陣列:
MainMenu menu1 = new MainMenu(new MenuItem[] {
new MenuItem("檔案(&F)"),
new MenuItem("編輯(&E)")
});
this.Menu = menu1;
mainMenu1.MenuItems[0].Text = "檔案(&F)";
this.Menu.MenuItems[0].Text = "檔案(&F)";
因為 Form.Menu 回傳 MainMenu 物件,且物件為參考型別,兩種方式操作的是同一個物件實例。
使用 Visual Studio .NET 開發時,工具箱提供 MainMenu 控制項,可直接拖放至設計介面,然後在選單項目上輸入文字即可快速完成設計:

.NET 中選單項目模型呈樹狀結構。一個選單項目可透過其 MenuItems 集合新增子選單;子選單同樣可繼續新增更深層級的子選單。
MenuItem 的 MenuItems 屬性回傳 Menu.MenuItemCollection 集合,提供 Add()、AddRange()、Remove()、RemoveAt() 等方法,方便管理子選單項目。
MainMenu menu1 = new MainMenu(new MenuItem[] {
new MenuItem("檔案(&F)"),
new MenuItem("編輯(&E)"),
new MenuItem("工具(&T)")
});
this.Menu = menu1;
MenuItem subMenu1 = new MenuItem("新增(&N)");
MenuItem subMenu2 = new MenuItem("開啟(&O)");
MenuItem subMenu3 = new MenuItem("儲存(&S)");
// 為主選單第一項(檔案)新增子選單
this.Menu.MenuItems[0].MenuItems.Add(subMenu1);
// 使用 AddRange() 批次新增多個子選單
this.Menu.MenuItems[0].MenuItems.AddRange(new MenuItem[] { subMenu2, subMenu3 });
其中 this.Menu.MenuItems[0] 代表主選單第一項(檔案),而 this.Menu.MenuItems[0].MenuItems 代表其下的子選單集合。