[前言:] C#不但繼承了C++、Java等物件導向的強大功能特性,同時還是繼承了VB、Delphi等程式設計語言的可視化快速開發功能,也稱其為當前第一個完全面向組件的語言。雖然微軟將把C#語言作為在WEB上開發一種主流工具來推廣,但其在傳統客戶/伺服器模式的程式設計中,特別是在微軟.Net平台系統下,C#其強大,易用的特性將會成為Windows應用軟體開發人員首選工具。
而在Windows程式設計中,菜單作為使用者與程式互動的首選工具,那麼在.Net中C#又是如何快速的構造Windows Forms中的菜單呢?怎樣才能掌握Windows Forms菜單的實質,在程式設計中做到得心應手,為所欲為的進行表單菜單程式的開發呢?這篇文章將給您最全面的回答。
一、Windows Forms菜單程式簡介
我們知道,在Windows程式中,菜單是一個必不可少的程式元素。通過使用菜單,可以把對程式的各種操作命令非常規範有效表示給使用者。一個Windows程式菜單一般包括一個主菜單(主菜單下麵包含許多子功能表)及很多彈出式菜單。單擊功能表項目程式將執行相應的功能;另外在程式表單的許多地方單擊滑鼠右鍵將會彈出一個針對性的捷徑功能表(也可以稱為彈出式菜單),單擊將執行相應的功能,使得軟體的應用變得更加簡單,更加人性化。Microsoft視窗系統及其應用軟體站穩案頭系統及軟體的霸主地位,友好的菜單應用立下不小的功勞。
與傳統的Windows程式一樣,Windows Forms程式中的菜單也包括一般的菜單及快顯功能表兩種。一般的菜單主要是指表單的主菜單及子功能表。菜單從屬特性外觀及主要功能又可分類:命令式菜單、選擇菜單、連結菜單及分隔菜單等等。
大家一定使用過快速開發(RAD)語言工具(如VB、Delphi等)設計過菜單程式。使用這些開發工具,你只需要把用滑鼠把菜單控制項拖放到表單上,並通過簡單的菜單外觀及屬性等設定即可完成非常友好的菜單程式開發。在.Net中,C#是支援快速開發的,因此,通過使用相應的開發工具(如Visual Studio .Net)也可以通過簡單的滑鼠拖放操作完成大部份的菜單程式設計。當然,由於C#的強大的功能,使用.Net提供的菜單類,你也可以通過記事本等純文字編輯工具就能寫出具有良好使用者介面的菜單程式。
但是只有在充分掌握Windows Forms菜單的實質以後,我們才能在程式設計中做到得心應手,為所欲為的進行表單菜單程式的開發。
二、菜單程式使用類及體繫結構
在.NET類庫中,定義了一個非常龐大的基礎類,以供使用者在各種編程使用。在這些類中,有幾個專為使用者編寫菜單程式所用的類,通過使用這幾個類,你可以設計出自己想要的任何菜單。下面分別進行簡單的介紹:
2.1 Windows Forms菜單類體繫結構
.Net類庫中,菜單類的定義體繫結構如下:
Object
MarshalByRefObject
Component
Menu
ContextMenu
MainMenu
MenuItem
從上面結構中,我們可以看出,菜單程式設計主要用到三個從Menu類繼承的類:ContextMenu、MainMenu與MenuItem,它們分別封裝了對彈出式菜單、主菜單及功能表項目的定義。
另外,.Net類庫還提供了一個Menu.MenuItemCollection集合類來方便對各功能表項目的管理。其定義如下:
public class Menu.MenuItemCollection:IList,ICollection,Ienumerable;