【WinForm详细教程五】WinForm中的MenuStrip 、ContextMenuStrip 、ToolStrip、StatusStrip控件 您所在的位置:网站首页 开始菜单中的设置项包括哪些内容 【WinForm详细教程五】WinForm中的MenuStrip 、ContextMenuStrip 、ToolStrip、StatusStrip控件

【WinForm详细教程五】WinForm中的MenuStrip 、ContextMenuStrip 、ToolStrip、StatusStrip控件

2024-06-22 08:36| 来源: 网络整理| 查看: 265

文章目录 1.MenuStrip2.ContextMenuStrip3.ToolStrip4.StatusStrip【WinForm详细教程】源代码获取方式

1.MenuStrip

MenuStrip作为一个容器可以包含多个菜单项。MenuStrip 的重要属性包括:

Name:菜单的名字Dock:菜单的停靠位置Items:菜单项的集合

ToolStripMenuItem

ToolStripMenuItem 是 MenuStrip 中的菜单项,可以有以下属性和功能:

ShortcutKeys:为菜单项设置快捷键,例如 Alt+F,Ctrl+N 等DropDownItems:菜单项的子菜单集合图标:菜单项可以通过关联 ImageList 控件来显示图标

菜单项的响应

菜单项可以注册 Click 事件来响应用户的点击操作。有两种方式来添加菜单项的响应:

手动添加:在设计界面上手动添加菜单项,并为每个菜单项注册 Click 事件代码添加:在 Load 事件中通过代码添加菜单项,并为其注册 Click 事件

代码示例

using System; using System.Windows.Forms; namespace WFFormUse { public partial class FrmMenuStrip : Form { public FrmMenuStrip() { InitializeComponent(); } private void FrmMenuStrip_Load(object sender, EventArgs e) { //代码添加菜单项 ToolStripMenuItem miStudent = new ToolStripMenuItem(); miStudent.Name = "miStudent"; miStudent.Text = "学生管理(&M)"; //它下面还有子菜单 ToolStripMenuItem miAddStudent = new ToolStripMenuItem(); miAddStudent.Name = "miAddStudent"; miAddStudent.Text = "新增学生"; miAddStudent.Click += MiAddStudent_Click; miStudent.DropDownItems.Add(miAddStudent);//添加子菜单 StudentMenus.Items.Add(miStudent); //添加主菜单 } private void MiAddStudent_Click(object sender, EventArgs e) { MForms.FrmAddStudent fAddStudent = new MForms.FrmAddStudent(); fAddStudent.MdiParent = this;//设置当前窗体的父窗体 fAddStudent.Show();//Mdi容器不支持ShowDialog() } //退出系统 private void miExit_Click(object sender, EventArgs e) { Application.Exit(); } //新增学生 private void miAddStudent_Click(object sender, EventArgs e) { MForms.FrmAddStudent fAddStudent = new MForms.FrmAddStudent(); fAddStudent.MdiParent = this;//设置当前窗体的父窗体 fAddStudent.Show();//Mdi容器不支持ShowDialog() } //新增班级 private void miAddClass_Click(object sender, EventArgs e) { MForms.FrmAddClass fAddClass = new MForms.FrmAddClass(); fAddClass.MdiParent = this; fAddClass.Show(); } private void StudentMenus_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } } }

请添加图片描述

2.ContextMenuStrip

ContextMenuStrip用于创建和显示上下文菜单,也就是通常所说的右键菜单。它通常与窗体或其他控件相关联,当用户在相关联的控件上右击时,上下文菜单就会显示出来。

属性

ContextMenuStrip 的一些重要属性包括:

Items:菜单项的集合,用于存放菜单项。Name:菜单的名字。

除了这些,ContextMenuStrip 还有其他一些属性,例如 BackColor、ForeColor、Font 等,用于设置菜单的背景色、前景色、字体等。

方法

Show:显示上下文菜单。该方法有多个重载版本,可以指定显示位置等参数。Hide:隐藏上下文菜单。Dispose:释放 ContextMenuStrip 控件所使用的资源。

官方文档:https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.forms.contextmenustrip?view=windowsdesktop-7.0&viewFallbackFrom=net-7.0

示例:

namespace WinFormsTest { public partial class frmContextMenuStrip : Form { public frmContextMenuStrip() { InitializeComponent(); } private void ContextMenuStrip_Load(object sender, EventArgs e) { } private void loginToolStripMenuItem_Click(object sender, EventArgs e) { FrmUser fAddStudent = new FrmUser(); fAddStudent.MdiParent = this;//设置当前窗体的父窗体 fAddStudent.Show();//Mdi容器不支持ShowDialog() } private void redToolStripMenuItem_Click(object sender, EventArgs e) { button2.BackColor = Color.Red; } private void greenToolStripMenuItem_Click(object sender, EventArgs e) { button2.BackColor = Color.Green; } private void 改字体颜色ToolStripMenuItem_Click(object sender, EventArgs e) { button1.BackColor = Color.Green; } } }

请添加图片描述

3.ToolStrip

ToolStrip 通常用于创建工具栏,以便用户能够快速访问常用的命令或功能。ToolStrip 可以包含多个不同类型的项,例如按钮、标签、下拉按钮等。

属性

ToolStrip 的重要属性包括:

Items:项的集合,用于存放 ToolStrip 中的各种项。DisplayStyle:用于设置项中图片和文本的显示方式。

ToolStrip 中的项

ToolStrip 中可以包含以下类型的项:

ToolStripButton:按钮,可以注册 Click 事件来响应用户的点击操作。ToolStripLabel:标签,也可以注册 Click 事件。ToolStripSplitButton:拆分按钮,包含一个按钮部分和一个下拉部分,可以注册 ButtonClick 事件来响应按钮部分的点击操作,也可以注册 Click 事件来响应下拉项的点击操作。ToolStripDropDownButton:下拉按钮,可以包含多个下拉项,可以注册 DropDownItemClicked 事件来响应下拉项的点击操作。ToolStripComboBox:下拉组合框,可以注册 SelectedIndexChanged 事件来响应选中项的改变。ToolStripTextBox:文本输入框,可以注册 TextChanged 事件来响应文本的改变。ToolStripProgressBar:进度条,通常不需要注册事件。

示例

请添加图片描述

4.StatusStrip

StatusStrip控件是通常用于在窗口的底部显示状态信息、进度条等。

常用属性:

Dock: 控制StatusStrip的停靠位置,默认值为Bottom,即停靠在窗口的底部。Items: 表示StatusStrip中包含的所有子控件的集合。

用途:

显示账号信息。显示角色信息。显示操作位置信息。显示进度条。显示版本信息。

示例:

namespace WinFormsTest { public partial class frmStatusStrip : Form { public frmStatusStrip() { InitializeComponent(); } private void frmStatusStrip_Load(object sender, EventArgs e) { // 创建StatusStrip控件 StatusStrip statusStrip = new StatusStrip(); statusStrip.Dock = DockStyle.Bottom; // 添加账号信息 ToolStripStatusLabel accountLabel = new ToolStripStatusLabel(); accountLabel.Text = "账号: user1"; statusStrip.Items.Add(accountLabel); // 添加角色信息 ToolStripStatusLabel roleLabel = new ToolStripStatusLabel(); roleLabel.Text = "角色: 管理员"; statusStrip.Items.Add(roleLabel); // 添加操作位置信息 ToolStripStatusLabel locationLabel = new ToolStripStatusLabel(); locationLabel.Text = "操作位置: 主界面"; statusStrip.Items.Add(locationLabel); // 添加进度条 ToolStripProgressBar progressBar = new ToolStripProgressBar(); progressBar.Value = 50; statusStrip.Items.Add(progressBar); // 添加版本信息 ToolStripStatusLabel versionLabel = new ToolStripStatusLabel(); versionLabel.Text = "版本: v1.0"; statusStrip.Items.Add(versionLabel); // 将StatusStrip控件添加到窗口的Controls集合中 this.Controls.Add(statusStrip); } } }

请添加图片描述

【WinForm详细教程】源代码获取方式

在这里插入图片描述

精彩推荐: 【C#进阶一】C#中的数组(Array)、集合(ArrayList,Queue,Stack, HashList)、List<T>、字典(Dictionary<K,T>)和双向链表LinkedList 【C#进阶八】C#中的序列化与反序列化下(二进制序列化、XML序列化及JSON序列化)

【C#进阶】C#语法中一些常用知识点总结 【WinForm详细教程一】WinForm中的窗体、Label、TextBox及Button控件、RadioButton和CheckBox、ListBox 【WinForm详细教程三】WinForm中的NumericUpDown、PictureBox、RichTextBox及三种Timer控件 【WinForm详细教程四】WinForm中的ProgressBar 、ImageList和ListView控件

【C#进阶】C#中的委托、事件、回调函数、匿名函数和lambda表达式 希望有所帮助,同时欢迎关注我,后面将更新更多相关内容!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有