C# WinForm ——31 32 Menustrip菜单栏

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. 菜单项响应

  1. 手动添加"学生管理"菜单项,并添加"新增学生"子菜单项

  2. 手动添加"班级管理"菜单项,并添加"新增班级"子菜单项

  3. 手动添加"退出系统"菜单项

  4. 注册"退出系统"的单击事件

  5. 将FrmMenuStrip窗体的IsMidContainer属性设置为true,新建一个FrmAddStudent窗体和一个FrmAddClass窗体

  6. 注册 "新增学生" 子菜单的单击事件

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

  7. 注册 "新增班级" 子菜单的单击事件

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

班级管理菜单的添加 类似

参考:2023年C#之WinForm零基础教程50讲

相关推荐
逻极1 分钟前
Rust数据类型(下):复合类型详解
开发语言·后端·rust
星释1 分钟前
Rust 练习册 12:所有权系统
开发语言·后端·rust
tianyuanwo9 分钟前
Rust开发完全指南:从入门到与Python高效融合
开发语言·python·rust
民乐团扒谱机1 小时前
脉冲在克尔效应下的频谱展宽仿真:原理与 MATLAB 实现
开发语言·matlab·光电·非线性光学·克尔效应
yuan199971 小时前
基于扩展卡尔曼滤波的电池荷电状态估算的MATLAB实现
开发语言·matlab
Tony Bai1 小时前
Go GUI 开发的“绝境”与“破局”:2025 年现状与展望
开发语言·后端·golang
豆浆whisky1 小时前
Go分布式追踪实战:从理论到OpenTelemetry集成|Go语言进阶(15)
开发语言·分布式·golang
2401_860494701 小时前
Rust语言高级技巧 - RefCell 是另外一个提供了内部可变性的类型,Cell 类型没办法制造出直接指向内部数据的指针,为什么RefCell可以呢?
开发语言·rust·制造
Tony Bai1 小时前
【Go模块构建与依赖管理】08 深入 Go Module Proxy 协议
开发语言·后端·golang
浪裡遊1 小时前
Next.js路由系统
开发语言·前端·javascript·react.js·node.js·js