C#菜單


3.17 菜單
Windows應用程序一般都有一個菜單, 通過選擇菜單中的不同菜單項, 完成指定的功能。
使用主菜單控件 MainMenu可以很容易建立 windows 應用程序的主菜單。

1. 菜單的組成及功能

放主菜單控件 MainMenu到窗體中,可以為窗體增加一個主菜單。

主菜單一般包括若干頂級菜單項,例如,文件、編輯、幫助等。

單擊頂級菜單項,可以出現彈出菜單,彈出菜單中包含若干菜單項,

例如單擊文件頂級菜單項,其彈出菜單一般包括打開文件、存文件、 另存為等菜單項,

用鼠標單擊菜單項,可以執行菜單項命令。有的菜單項還包括子菜單。

所有菜單項都可以有快捷鍵,即菜單項中帶有下划線的英文字符,當按住 ALT鍵后,再

按頂級菜單項的快捷鍵字符, 可以打開該頂級菜單項的彈出菜單。 彈出菜單出現后, 按菜單

項的快捷鍵字符, 可以執行菜單項命令。 增加快捷鍵的方法是在菜單項的標題中, 在要設定

快捷鍵英文字符的前邊增加一個字符 &,例如,菜單項的標題為:打開文件 (&0) ,菜單項的

顯示效果為:打開文件 (0) 。菜單項可以有加速鍵,一般在菜單項標題的后面顯示,例如,

菜單項打開文件的加速鍵一般是 Ctrl+O ,不打開菜單,按住 Ctrl 鍵后,再按 O鍵,也可以

執行打開文件命令。設定加速鍵的方法是修改菜單項的 ShortCut 屬性。

2. 用程序生成菜單

放主菜單控件 MainMenu到窗體中,可以為該窗體增加一個主菜單, Visual Studio.Net

自動添加如下語句:
MainMenu mainMenu1=newMainMenu();
This.Menu=mainMenu1;// 指定主窗口的主菜單是 mainMenu1。

可以建立多個 MainMenu類對象,用第二條語句修改使主窗口使用不同的主菜單。有了

主菜單對象,用如下語句為主菜單增加頂級菜單項:

MenuItem myFile=mainMenu1.MenuItem.Add( “文件 (&F)”);// 頂級菜單項:文件

有了頂級菜單項對象,用如下語句為頂級菜單項的彈出菜單增加菜單項:

myFile.MenuItem.Add( “打開 (&O)”);// 文件頂級菜單項的彈出菜單的菜單項:打開

實際上,這些都可以用 Visual Studio.Net 自動生成。

3. 菜單項的屬性和事件
? 屬性 Checked:布爾變量, =true ,表示菜單項被選中,其后有標記:∨。
? 屬性 ShortCut :指定的加速鍵,可以從下拉列表中選擇。
? 屬性 ShowShortCut :布爾變量,true( 默認值 ) ,表示顯示加速鍵, false ,不顯示。
? 屬性 Text :菜單項標題。 如為字符 - ,為分隔線。如指定字符前加 &,例如:顏色 (&c) ,
增加快捷鍵,即用 Alt+c 訪問顏色菜單。
? 常用事件 Click :單擊菜單項事件。

4. 例子 e3_10 增加菜單
本例在窗體中建立主菜單, 主菜單包括一個頂級菜單項: 顏色,其彈出菜單包括兩個菜
單項:紅色、 黑色,單擊標題為紅色的菜單項,把窗體中顯示的字符串變為紅色,單擊標題
為黑色的菜單項,把窗體中顯示的字符串變為黑色。實現步驟如下:

(1) 建立一個新項目。放 Label 控件到窗體。

(2) 雙擊工具箱中 Mainmenu控件,在窗體中增加主菜單。 右下角有一主菜單圖標, 在左上角
有一方框,其中有文字:請在此處輸入,在此方框中輸入菜單標題。

(3) 在方框內輸入字符 ”顏色 ”, 在其下部方框內輸入字符 ”紅色 ”為一菜單項, 在”紅色 ”下輸入
字符 ”黑色 ”為另一菜單項,再輸入 ”退出 ”菜單項。如希望在選中某一菜單項后出現下一
級子菜單,可在菜單項右側方框中輸入子菜單項名。如果菜單項屬性 Text 的值為 -,則
菜單項為分隔符。 可以用鼠標拖動菜單項移動菜單項的位置。 集成環境設計界面如下圖。

(4) 標題為紅色的菜單項的單擊 (Click) 事件處理函數如下:
private void menuItem2_Click( object sender,System.EventArgs e)
{label1.ForeColor=Color.Red;}// 改變字體顏色為紅色

(5) 標題為黑色的菜單項的單擊 (Click) 事件處理函數如下:
private void menuItem3_Click( object sender, System.EventArgs e)
{label1.ForeColor=Color.Black;}// 改變字體顏色為黑色

(6) 標題為退出的菜單項的單擊 (Click) 事件處理函數如下:
private void menuItem4_Click( object sender, System.EventArgs e)
{ Close();}// 退出程序

(7) 編譯,運行,單擊紅色和黑色菜單項,能改變字符串的顏色。效果如上圖。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM