首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Windows Forms 選單設計完全指南 (6):為表單新增選單

     編輯:關於C語言

四、為表單新增選單

4.1 新增主選單

.NET 的 System.Windows.Forms.Form 類別擁有一個 MainMenu 型別的 Menu 屬性。只需將一個 MainMenu 物件指派給表單的 Menu 屬性,即可為表單新增主選單。

使用無參數建構函式 MainMenu()

建立的主選單物件不包含任何選單項目,可透過 MenuItems 集合管理項目:

MainMenu menu1 = new MainMenu();
menu1.MenuItems.Add(new MenuItem("檔案(&F)"));
this.Menu = menu1;

使用 MainMenu(MenuItem[]) 建構函式

建立時直接包含指定的選單項目陣列:

MainMenu menu1 = new MainMenu(new MenuItem[] {
    new MenuItem("檔案(&F)"), 
    new MenuItem("編輯(&E)")
});
this.Menu = menu1;

存取主選單項目的兩種方式

  1. 透過 MainMenu 物件的 MenuItems 集合:
    mainMenu1.MenuItems[0].Text = "檔案(&F)";
  2. 透過表單 Form 的 Menu 屬性:
    this.Menu.MenuItems[0].Text = "檔案(&F)";

    因為 Form.Menu 回傳 MainMenu 物件,且物件為參考型別,兩種方式操作的是同一個物件實例。

Visual Studio .NET 設計工具支援

使用 Visual Studio .NET 開發時,工具箱提供 MainMenu 控制項,可直接拖放至設計介面,然後在選單項目上輸入文字即可快速完成設計:

VS.NET 主選單設計工具介面

4.2 新增子選單

.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 代表其下的子選單集合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved