1. 介绍
菜单控件,包含多个菜单项的菜单容器
主菜单下面可以有子菜单,子菜单下面可以有下一级子菜单

2. 常用属性
| 属性 | 解释 |
|---|---|
| (Name) | 控件ID,在代码里引用的时候会用到 |
| Enabled | 控件是否启用 |
| Dock | 定义要绑定到容器的控件边框,默认是top |
| ContextMenuStrip | 当用户右击该控件时显示的快捷菜单 |
| LayoutStyle | 指定ToolStrip的布局方向: HorizontalStackWithOverFlow:水平方向布局,可以溢出 VerticalStackWithOverFlow:垂直方向布局,可以溢出 StackWithOverFlow: Flow: Table:表格样式显示 |
| Items | ToolStrip上显示的项的集合,菜单项的集合,添加项的时候,有三种类型可以选择:MenuItem(默认)、ComboBox、TextBox![]() ![]() MenuItem里的每一个菜单项是ToolStripMenuItem类的,可以设置(Name)和Text属性、快捷键、每个菜单下面的子菜单,Text就是显示在菜单栏中的文字 ![]() 当Text属性是“文件(F)”,且快捷键的修饰符是 Alt 时,在键盘上按下快捷键,只是选中 ![]() 当Text属性是“文件(&F)”,且快捷键的修饰符是 Alt 时,在键盘上按下快捷键,会展开下拉菜单 ![]() 设置每个菜单下面的子菜单集合(DropDownItems属性),每个子菜单也都是ToolStripMenuItem类的 |
| TextDirection | 菜单栏的文本绘制方向:Inherit、Horizontal(水平)、Vertical90(垂直90度)、Vertical270(垂直270度) |
| ShowIcon | 指示是否显示图标,图标可以通过Image或ImageList属性来设置![]() |
3. 菜单项响应

-
手动添加“学生管理”菜单项,并添加“新增学生”子菜单项
-
手动添加“班级管理”菜单项,并添加“新增班级”子菜单项

-
手动添加“退出系统”菜单项

-
注册“退出系统”的单击事件

-
将FrmMenuStrip窗体的IsMidContainer属性设置为true,新建一个FrmAddStudent窗体和一个FrmAddClass窗体
-
注册 “新增学生” 子菜单的单击事件

FrmAddStudent窗体可以在父容器中随意拖动,可以最大化、最小化,但移不出父容器

-
注册 “新增班级” 子菜单的单击事件

4. 代码添加菜单项及响应

班级管理菜单的添加 类似
参考:2023年C#之WinForm零基础教程50讲

























