动态创建无级子菜单:乾坤大挪移无极紫菜汤
来源:互联网 发布:淘宝直播海报图片 编辑:程序博客网 时间:2024/06/09 17:14
/*快捷菜单*/ ContextMenuStrip 测试快捷 = new ContextMenuStrip(); /*主菜单=名称|图标索引*/ /*子菜单子参数:乾坤大挪移=上级菜单索引|移动菜单索引:移一个菜单主菜单下位索引-1*/ /*事件*/ /*加载赋值*/ /*九九乘法表-紫菜汤-顺序排列*/ string[] 九九乘法表 = new string[81]; int 索引 = 0; for (int i = 1; i <= 9; i++) { for (int j = 1; j <= 9; j++) { 九九乘法表[索引] = i.ToString() + "×" + j.ToString() + "=" + (i * j).ToString() + "|"; 索引++; } }//,九九乘法表乾坤大挪移参数 = new string[81]为了体现就不自动生成了。 string[] 九九乘法表乾坤大挪移参数 = new string[] { "0|1", "0|0|1", "0|0|0|1", "0|0|0|0|1", "0|0|0|0|0|1", "0|0|0|0|0|0|1", "0|0|0|0|0|0|0|1", "0|0|0|0|0|0|0|0|1", "1|2", "1|0|2", "1|0|0|2", "1|0|0|0|2", "1|0|0|0|0|2", "1|0|0|0|0|0|2", "1|0|0|0|0|0|0|2", "1|0|0|0|0|0|0|0|2", "2|3", "2|0|3", "2|0|0|3", "2|0|0|0|3", "2|0|0|0|0|3", "2|0|0|0|0|0|3", "2|0|0|0|0|0|0|3", "2|0|0|0|0|0|0|0|3", "3|4", "3|0|4", "3|0|0|4", "3|0|0|0|4", "3|0|0|0|0|4", "3|0|0|0|0|0|4", "3|0|0|0|0|0|0|4", "3|0|0|0|0|0|0|0|4", "4|5", "4|0|5", "4|0|0|5", "4|0|0|0|5", "4|0|0|0|0|5", "4|0|0|0|0|0|5", "4|0|0|0|0|0|0|5", "4|0|0|0|0|0|0|0|5", "5|6", "5|0|6", "5|0|0|6", "5|0|0|0|6", "5|0|0|0|0|6", "5|0|0|0|0|0|6", "5|0|0|0|0|0|0|6", "5|0|0|0|0|0|0|0|6", "6|7", "6|0|7", "6|0|0|7", "6|0|0|0|7", "6|0|0|0|0|7", "6|0|0|0|0|0|7", "6|0|0|0|0|0|0|7", "6|0|0|0|0|0|0|0|7", "7|8", "7|0|8", "7|0|0|8", "7|0|0|0|8", "7|0|0|0|0|8", "7|0|0|0|0|0|8", "7|0|0|0|0|0|0|8", "7|0|0|0|0|0|0|0|8", "8|9", "8|0|9", "8|0|0|9", "8|0|0|0|9", "8|0|0|0|0|9", "8|0|0|0|0|0|9", "8|0|0|0|0|0|0|9", "8|0|0|0|0|0|0|0|9" }; //快捷菜单(测试快捷, 九九乘法表, null); //乾坤大挪移(测试快捷, 九九乘法表乾坤大挪移参数); this.BeginInvoke(new 快捷(快捷菜单), 测试快捷, 九九乘法表, null); this.BeginInvoke(new 乾坤挪移(乾坤大挪移), 测试快捷, 九九乘法表乾坤大挪移参数); this.ContextMenuStrip = 测试快捷;
private void 快捷菜单(ContextMenuStrip 菜单名, string[] 参数, EventHandler[] 事件) { int 计数 = 0; foreach (string 元素 in 参数) { string[] 列表 = 元素.Split('|'); if (列表[0].Length > 0) 菜单名.Items.Add(列表[0]); if (列表[1].Length > 0) 菜单名.Items[计数].Image = 图标集.Images[int.Parse(列表[1])]; if (事件 != null) if (事件[计数] != null) 菜单名.Items[计数].Click += new EventHandler(事件[计数]); 计数++; } 菜单名.Items[0].BackColor = System.Drawing.Color.Aqua; //return 菜单名;//ContextMenuStrip } private void 乾坤大挪移(ContextMenuStrip 菜单名, string[] 子参数) { foreach (string 元素 in 子参数) { string[] 列表 = 元素.Split('|'); ToolStripDropDownItem 菜单位置 = (ToolStripDropDownItem)菜单名.Items[int.Parse(列表[0])]; if (列表.Length > 2)//无极紫菜汤 for (int 无极 = 1; 无极 < 列表.Length - 1; 无极++) { 菜单位置 = 无极之菜单(菜单位置, int.Parse(列表[无极])); } ToolStripItem 子菜单名 = 菜单名.Items[int.Parse(列表[列表.Length - 1])]; 菜单位置.DropDownItems.Add(子菜单名); } } private ToolStripDropDownItem 无极之菜单(ToolStripDropDownItem 级, int 位置) { ToolStripDropDownItem 无极 = (ToolStripDropDownItem)级.DropDownItems[位置]; return 无极; }
EventHandler[] 主体快捷事件 = new EventHandler[] { null, null, 曲线QToolStripMenuItem_Click, 选项OToolStripMenuItem_Click, 农历NToolStripMenuItem_Click, null, null, 农历ToolStripMenuItem3_Click, (sender1, e1) => { 选项卡.SelectedIndex = 选项卡.TabPages.IndexOfKey("附件"); }, 退出XToolStripMenuItem_Click };
需要说明的是菜单事件必须与菜单名称对应,数量相等,没事件的可以写null;
光菜汤写一大堆代码确实头大,这几天不知怎么啦,跟这些菜汤干上了,功夫不负有心人,下午终于归纳导出:乾坤大挪移无极紫菜汤;这些天经过一番推理,证明这种写法是合理而且容易理解思路清晰。
知道写得不好,欢迎提提建议,我只想用我的方法来写,证明写程序是很灵活的,也是头脑所想的,只要有办法,可以心想事成。
/*九九乘法表-紫菜汤-梯形排列*/ string[] 九九乘法表 = new string[45]; int 索引 = 0; for (int i = 1; i <= 9; i++) { for (int j = i; j <= 9; j++) { 九九乘法表[索引] = i.ToString() + "×" + j.ToString() + "=" + (i * j).ToString() + "|"; 索引++; } } string[] 九九乘法表乾坤大挪移参数 = new string[] { "1|9", "2|9", "3|9", "4|9", "5|9", "6|9", "7|9", "8|9", "2|0|9", "3|0|9", "4|0|9", "5|0|9", "6|0|9", "7|0|9", "8|0|9", "3|0|0|9", "4|0|0|9", "5|0|0|9", "6|0|0|9", "7|0|0|9", "8|0|0|9", "4|0|0|0|9", "5|0|0|0|9", "6|0|0|0|9", "7|0|0|0|9", "8|0|0|0|9", "5|0|0|0|0|9", "6|0|0|0|0|9", "7|0|0|0|0|9", "8|0|0|0|0|9", "6|0|0|0|0|0|9", "7|0|0|0|0|0|9", "8|0|0|0|0|0|9", "7|0|0|0|0|0|0|9", "8|0|0|0|0|0|0|9", "8|0|0|0|0|0|0|0|9" };
/*下列的就不做出排列了,留给有兴趣的人去玩。*/
for (int i = 1, j = 1; j <= 9; i++) { 九九乘法表[索引] = i.ToString() + "×" + j.ToString() + "=" + (i * j).ToString() + "|"; if (j == i) { i = 0; j++; } 索引++; }
/*下列递归算法:递归就是不断压入栈的过程,从9一直压入栈中到1;条件满足后,执行是从最后压入栈取出开始。九九乘法表递归(9);*/
ArrayList 九九乘法表 = new ArrayList(); public void 九九乘法表递归(int 数值) { if (数值 <= 0) return; 九九乘法表递归(数值 - 1); for (int 递归 = 1; 递归 <= 数值; 递归++) { 九九乘法表.Add(数值 + "×" + 递归 + "=" + (递归 * 数值).ToString() + "|"); } }
- 动态创建无级子菜单:乾坤大挪移无极紫菜汤
- 的乾坤大挪移
- 乾坤大挪移!!!
- 乾坤大挪移 大法
- 乾坤大挪移
- Redis cluster - 乾坤大挪移
- SQL Server的乾坤大挪移
- 基金转换——乾坤大挪移
- xml,dict,json,vector乾坤大挪移
- 乾坤大挪移-移动所有数据文件
- 优秀博文乾坤大挪移
- SQL 内功心法之乾坤大挪移
- (6) 实战!数据恢复之乾坤大挪移
- 乾坤大挪移--安装系统后轻松移动配置文件
- Ruby On Rails之继续乾坤大挪移
- C++ 是九阳神功,VC、BCB是乾坤大挪移
- Photoshop:把玻璃瓶“乾坤大挪移”
- 吉哥系列故事——乾坤大挪移
- 4.事件处理
- STM32中USART的使用方法
- 判断两个Integer是否相等不能用==,要用compareTo方法
- [Android]如何导入已有的外部数据库
- Sqlite入门与C/C++的应用
- 动态创建无级子菜单:乾坤大挪移无极紫菜汤
- 快速幂乘
- android导入外部已存在的数据库大于1M的数据库文件方法
- MySQL Cluster (三) --- 3台机器搭建集群环境
- lucene3.6中FSDirectory以及RAMDirectory的使用方法
- 应该记住的8位java人物
- Ubuntu笔记
- android raw读取超过1M文件的方法
- 黑马程序员_关于枚举