实例005 可以拉伸的菜单界面

实例说明

如果管理程序功能菜单非常多,而用户只使用一些常用菜单,这时,可以将主菜单项下的不常用菜单隐藏起来。此种显示方式类似于对菜单进行拉伸。使用时,只需单击展开菜单,即可显示相应菜单功能。运行本例,效果如图1.5所示。

技术要点

要实现可以拉伸的菜单,关键是要使用一个开关变量,同时调用ShowDropDown()方法,显示操作后的结果。下面详细介绍一下该方法。

ShowDropDown()方法用来显示与此ToolStripDrop DownItem关联的ToolStripDropDownItem控件。其语法结构如下:

public void ShowDropDown ()

另外,用ShowDropDown()方法还可以显示已由 DropDown 属性设置的下拉控件。

 注意:必须设置开关变量的初值。

实现过程

(1)创建一个项目,将其命名为Ex01_05,默认窗体为Form1。

(2)从工具箱中向Form1窗体添加MenuStrip控件,选中MenuStrip控件为其添加子项。

(3)双击“展开(关闭)子项”为其双击事件添加处理代码。

(4)主要程序代码。

        private void Form1_Load(object sender, EventArgs e)

        {

            //初始设置下面的菜单隐藏

            this.设置密码ToolStripMenuItem.Visible = false;

            this.添加用户ToolStripMenuItem.Visible = false;

            this.忘记密码ToolStripMenuItem.Visible = false;

            this.修改密码ToolStripMenuItem.Visible = false;

            this.员工录入ToolStripMenuItem.Visible = false;

        }

        private void toolStripMenuItem1_Click(object sender, EventArgs e)

        {

            switch  (i)

            {

                case 1:

                this.设置密码ToolStripMenuItem.Visible = false;

                this.添加用户ToolStripMenuItem.Visible = false;

                this.忘记密码ToolStripMenuItem.Visible = false;

                this.修改密码ToolStripMenuItem.Visible = false;

                this.员工录入ToolStripMenuItem.Visible = false;

                i = 2;

                this.操作ToolStripMenuItem.ShowDropDown();

                break;

                case 2:

                this.设置密码ToolStripMenuItem.Visible = true;

                this.添加用户ToolStripMenuItem.Visible = true;

                this.忘记密码ToolStripMenuItem.Visible = true;

                this.修改密码ToolStripMenuItem.Visible = true;

                this.员工录入ToolStripMenuItem.Visible = true;

                i = 1;

                this.操作ToolStripMenuItem.ShowDropDown();

                break;

           }

        }

举一反三

根据本实例,读者可以开发以下功能。

  制作显示\隐藏工具栏。

  合并菜单栏。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33743.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Python批量进行数据分析

案例01 批量升序排序一个工作簿中的所有工作表——产品销售统计表.xlsx import xlwings as xw import pandas as pd app xw.App(visible False, add_book False) workbook app.books.open(产品销售统计表.xlsx) worksheet workbook.sheets # 列出工作簿中的所有工作表 fo…

VVIC搜款网API接口:获取商品详情数据API

VVIC电商平台汇集了数千家优质品牌和供应商,包括服装、家居用品、电子产品、美妆产品、食品和饮料等各种商品。消费者可以在VVIC上找到各类品牌和产品,满足他们的购物需求。VVIC还提供了多种付款方式和物流配送服务,确保消费者的购物过程顺利…

第27章 uView 内置路由使用注意事项

1 uView 内置路由不支持通过“localhost”域名直接获取数据。 在前后分离开发中“axios” 路由支持使用“localhost”域名或IP地址获取后端的数据,所以不管是IIS部署还是后端调试通过“axios” 路由都能获取数据,对于.NetCore的前后端分离开发来说“axio…

NLP学习笔记(二)

文章目录 (一)负采样(二)GloVe1.带全局语料库的跳元模型2.GloVe模型3.问题4.跳元模型与GloVe模型的比较 (三)问题1.参数初始化2.梯度下降3.下游任务4.句法信息5.似然估计6.词向量表示 (一&#…

2023 中兴捧月算法挑战赛-自智网络-参赛总结

“中兴捧月”是由中兴通讯面向在校大学生举办的全球性系列赛事活动,致力于培养学生建模编程、创新、方案策划和团队合作能力。今年是在学校的宣传下了解到比赛,最初抱着学习的态度报名了比赛,最终进入了决赛,完成了封闭的开发与赛…

Jenkins+Gitlab+Springboot项目部署Jar和image两种方式

Springboot环境准备 利用spring官网快速创建springboot项目。 添加一个controller package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController public class…

【结构型设计模式】桥接模式

一、写在前面 桥接模式(Bridge):桥接模式是一种结构型设计模式,其目的是将抽象部分和实现部分分离,允许它们可以独立地变化。该模式通过创建一个桥接类,连接抽象和实现,使得它们可以独立地进行…

网络安全(黑客)自学笔记

建议一:黑客七个等级 黑客,对很多人来说充满诱惑力。很多人可以发现这门领域如同任何一门领域,越深入越敬畏,知识如海洋,黑客也存在一些等级,参考知道创宇 CEO ic(世界顶级黑客团队 0x557 成员…

C语言:数据的存储

往期文章 C语言:初识C语言C语言:分支语句和循环语句C语言:函数C语言:数组C语言:操作符详解C语言:指针详解C语言:结构体 目录 往期文章前言1. 数据的类型2. 整型在内存中的存储2.1 原码、反码、…

Qt/C++编写onvif工具(搜索/云台/预置位/OSD/录像存储)

一、前言 从最初编写这个工具开始的时间算起来,至少5年多,一直持续完善到今天,这个工具看起来小也不小大也不大,但是也是经历过无数个现场的洗礼,毫不夸张的说,市面上能够遇到的主流的厂商的设备&#xff…

网络基础一

网络发展 独立模式:计算机之间相互独立。 网络互联:多台计算机连接在一起,完成数据共享。 局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起; 广域网WAN:将远隔千里的计算机都连在…

2023年6月Web3行业月度发展报告区块链篇 | 陀螺科技会员专享

6月,合规与监管成为本月加密领域的主旋律,在海外,SEC接连起诉币安与Coinbase两大交易平台,并将除BTC、ETH、USD系等的几乎所有加密货币列为证券,引发市场哗然,行情也与之紧密关联,随着做市商缓慢…

基于Echarts2.X的地图数据可视化指南

目录 前言 一、关于Echarts版本 1、为什么用Echarts2.2.7 2、文件目录说明 二、地图数据可视化 1、新建map.html 2、Echarts图表初始化 3、参数设置 三、源码展示分析 1、初始化阶段 2、timelineOption.js模拟数据 总结 前言 在前面的博文(数据会说话-从我国…

C国演义 [第七章]

第七章 最长重复子数组题目理解步骤dp含义递推公式初始化为啥dp数组如此奇怪 遍历顺序 代码 最长公共子序列题目理解步骤dp含义递推公式初始化遍历顺序 代码 总结 最长重复子数组 力扣链接 给两个整数数组 nums1 和 nums2 ,返回 两个数组中 公共的 、长度最长的子…

初识express/路由/中间件

路由的概念 模块化路由 中间件(要有输入输出) 简化版本 全局生效中间件 局部生效中间件 注意事项 中间件分类 内置中间件,解析请求体/url-encoded 自定义中间件 使用querystring模块解析请求体数据 编写接口 ​​​​​​​

希尔排序(C语言)

希尔排序 一、希尔排序的原理二、动图演示三、代码实现四、实现从小到大排序五、希尔排序的优缺点 一、希尔排序的原理 希尔排序是插入排序的一种更高效的改进版本。 1.将原始待排数据按照设定的增量gap分成多组,每组有n / gap个元素。 2.对这些分组进行插入排序&a…

单表-DQL

注意:这张图还包含了对于的顺序,先分组再排序,再分页,顺序不能乱 基本查询 # 1.基本查询 # 查询全部行 select * from tb_emp; select id, user_name, password, name, gender, image, job, entry_date, create_time, update_ti…

yarn与npm的区别(yarn的安装报错问题)

一、yarn 是什么,yarn 与 npm 的区别是什么? yarn 是一个软件包管理系统,Yarn 和 npm 都是包管理工具,用于管理用 JavaScript 编写的软件包,yarn的出现是为了弥补 npm的一些缺陷。yarn 与 npm 的区别 : 性能…

MongoDB复制集原理

复制集简介 Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据&#xff0…

3.springboot开发篇

SpringBoot开发实用篇 ​ KF-1.热部署 热部署是不用重启项目,项目自动更新 非springboot项目热部署实现原理 ​ 开发非springboot项目时,我们要制作一个web工程并通过tomcat启动,通常需要先安装tomcat服务器到磁盘中,开发的程序…