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) 编译,运行,单击红色和黑色菜单项,能改变字符串的颜色。效果如上图。

猜你喜欢

转载自www.cnblogs.com/liudongjun/p/12212488.html