DevExpress中实现代码动态添加MenuStrip菜单栏控件内容
一、实现效果
二、实现操作
2.1、添加MenuStrip控件
2.2、编写动态添加菜单栏内容代码
/// <summary>/// 给菜单控件添加名称/// </summary>/// <param name="menuName">菜单名称</param>/// <param name="toolStripItemCollection">菜单项容器</param>/// <param name="callBack">菜单按钮点击事件</param>/// <returns>返回当前菜单项</returns>private static ToolStripMenuItem AddContextMenu(string menuName, ToolStripItemCollection toolStripItemCollection, EventHandler callBack){if (string.IsNullOrEmpty(menuName)) return null;var toolStripMenuItem = new ToolStripMenuItem(menuName) { Tag = menuName };if (callBack != null) toolStripMenuItem.Click += callBack;toolStripItemCollection.Add(toolStripMenuItem);return toolStripMenuItem;}/// <summary>/// 菜单按钮的点击事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void MenuClicked(object sender, EventArgs e){try{//获取到当前点击的菜单栏var toolStripMenuItem = (ToolStripMenuItem)sender;//TODO 实现点击菜单栏的逻辑}catch (Exception ex){MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);}}
2.3、使用方法
# 1-先添加父菜单
var parentSubItem = AddContextMenu(父菜单名称, menuStrip组件名称.Items, null);# 2-在添加子菜单
var toolStripMenuItem1 = AddContextMenu(子菜单名称, 父菜单组件.DropDownItems, MenuClicked);#示例
var parentSubItem = AddContextMenu("管理员", menuStrip1.Items, null);
var toolStripMenuItem1 = AddContextMenu("权限管理", parentSubItem.DropDownItems, MenuClicked);
var toolStripMenuItem2 = AddContextMenu("人员管理", parentSubItem.DropDownItems, MenuClicked);var parentSubItem2 = AddContextMenu("菜单栏", menuStrip1.Items, null);
var toolStripMenuItem21 = AddContextMenu("内容1", parentSubItem2.DropDownItems, MenuClicked);
var toolStripMenuItem22 = AddContextMenu("内容2", parentSubItem2.DropDownItems, MenuClicked);
DevExpress中实现代码动态添加MenuStrip菜单栏控件内容相关推荐
- Winform DataGridView单元格中动态添加多个控件
简介: 在DataGridView的单元格中动态添加多个控件.例如在DataGridViewTextBox单元格中,添加CheckBox和Button控件.主题思路就是一个动态控件的大小,位置,显示, ...
- 关于代码动态修改xib内控件尺寸
只需要找到决定该控件大小的那条约束,链到对应的类内,根据自己需求动态设置其值 把约束链入类 根据自己需求设置其值
- java把控件跑挂了_Java代码动态修改 ConstraintLayout 内控件布局的辅助类
##上图 ConstraintUtil.java import android.support.annotation.IdRes; import android.support.constraint. ...
- Winforn中使用代码动态生成控件
场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...
- Layui框架下:JS中根据后台查询到的数据动态往div中ul里面动态添加li
Layui框架下:JS中根据后台查询到的数据动态往div中ul里面动态添加li 先建立好一个div和ul JS代码: $(function () { layui.admin.req({ url: _s ...
- 使用Unity后期特效PostProcessing,代码动态添加PostProcessLayer组件报错
我们项目使用Unity自带后期效果组件:PostProcessing.我在运行中代码动态添加了PostProcessLayer组件后就不停报错.代码与报错如下: 代码 报错 让我们看看源码 PostP ...
- asp.net后台代码动态添加JS文件和css文件的引用
首先添加命名空间 using System.Web.UI.HtmlControls; 代码动态添加css文件的引用 HtmlGenericControl myCss = new HtmlGeneric ...
- Hadoop学习笔记—13.分布式集群中节点的动态添加与下架
Hadoop学习笔记-13.分布式集群中节点的动态添加与下架 开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如 ...
- WPF 中动态创建和删除控件
WPF 中动态创建和删除控件 原文:WPF 中动态创建和删除控件 动态创建控件 1.容器控件.RegisterName("Name",要注册的控件) //注册控件 2.容器控件 ...
最新文章
- 唐筛的准确率这么低为什么还要做_做注塑这么苦,为什么你还要坚持?
- 除了BAT,国内还有哪些值得关注的人工智能公司?
- 互联网1分钟 | 0124 抖音社交产品“多闪”登顶苹果商店总排行榜;王欣或将推出新社交产品丸子视频...
- 西安工业学院计算机系王翊,西安文理学院艺术学院
- 信息学奥赛一本通(1056:点和正方形的关系)
- JAVA抽象类和接口的深入探讨
- Github上好的Android开源框架
- 正确使用ArrayList和LinkedList
- Java引入依赖aar_Grade将依赖的jar 打包进aar
- python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串
- validate简介及使用方法与默认的校验规则
- 苏州大学 数据库题库
- apt-get update 更新失败----如何清除破损而且陈旧的PPA仓库 (W: Failed to fetch http://ppa.launchpad.net/jonathonf/pyt)
- 哪种程序员最挣钱?平均月薪30.8K,网友说这是掌握世界的技术!
- DC-DC同步升压芯片PW5100替代PC1961,原厂供应
- HTML5与视频传输_拔剑-浆糊的传说_新浪博客
- 联邦学习框架 FederatedScope(1)快速入门
- 无线点餐系统、在线点餐系统/在线订餐系统的设计与实现
- 精仿苹果x开机android,800元高仿iPhone X以假乱真!更可怕的是奸商套路
- 疯狂Python讲义学习笔记(含习题)之 类和对象