C# 不僅繼承了 C++、Java 等面向物件語言的強大特性,同時也融合了 VB、Delphi 等語言的視覺化快速開發能力,被稱為首個完全面向元件的程式語言。雖然微軟將 C# 定位為 Web 開發主流工具,但在傳統客戶/伺服器模式程式設計中,特別是在 .NET 平台下,C# 強大且易用的特性將成為 Windows 應用軟體開發人員的首選工具。
在 Windows 程式設計中,選單作為使用者與程式互動的首選工具,.NET 中 C# 如何快速建構 Windows Forms 選單?如何掌握選單本質,在程式設計中得心應手?本系列文章將給您最完整的解答。
我們知道,在 Windows 程式中,選單是不可或缺的程式元素。透過選單,可將程式各項操作命令規範有效地呈現給使用者。典型 Windows 程式選單包含主選單(含多個子選單)與多個彈出式選單。點擊選單項目執行對應功能;在表單許多區域點擊滑鼠右鍵會彈出針對性快捷選單(即彈出式選單),點擊執行相應功能,讓軟體應用更簡單、更人性化。微軟視窗系統及其應用軟體確立桌面霸主地位,友善的選單應用功不可沒。
與傳統 Windows 程式相同,Windows Forms 程式選單也包含一般選單與彈出選單兩大類。一般選單主要指表單主選單及子選單。按從屬特性、外觀與功能可分為:命令式選單、選擇式選單、連結式選單、分隔選單等。
大家一定使用過快速應用開發(RAD)工具(如 VB、Delphi)設計選單程式。只需滑鼠拖放選單控制項至表單,透過簡單屬性設定即可完成友善選單開發。.NET 中 C# 支援快速開發,使用 Visual Studio .NET 等工具同樣可透過拖放操作完成大部分選單設計。當然,憑藉 C# 強大功能,使用 .NET 提供的選單類別,甚至能用記事本等純文字編輯器撰寫具良好使用者介面的選單程式。
但只有充分掌握 Windows Forms 選單的本質,才能在程式設計中得心應手,隨心所欲地進行表單選單程式開發。
.NET 類別庫定義龐大基礎類別供開發使用,其中數個專門用於撰寫選單程式。透過這些類別,您可以設計出任何想要的選單。
.NET 類別庫中選單類別定義體系結構如下:
Object
MarshalByRefObject
Component
Menu
ContextMenu
MainMenu
MenuItem
從結構可見,選單程式設計主要用到三個繼承自 Menu 類別的類別:ContextMenu、MainMenu 與 MenuItem,分別封裝彈出式選單、主選單及選單項目定義。
此外,.NET 類別庫還提供 Menu.MenuItemCollection 集合類別方便管理選單項目:
public class Menu.MenuItemCollection : IList, ICollection, IEnumerable