zoukankan      html  css  js  c++  java
  • WinForm-MenuStrip

     1 ToolStrip menuStrip1;
     2         public Form1()
     3         {
     4             InitializeComponent();
     5             menuStrip1 = new ToolStrip();
     6             this.Controls.Add(menuStrip1);
     7         }
     8 
     9         private void Form1_Load(object sender, EventArgs e)
    10         {
    11             //添加菜单一
    12             ToolStripMenuItem subItem;
    13             subItem = AddContextMenu("入库", menuStrip1.Items, null);
    14             //添加子菜单
    15             ToolStripMenuItem grandsonItem;
    16             grandsonItem = AddContextMenu("添加入库", subItem.DropDownItems, new EventHandler(MenuClicked));
    17             AddContextMenu("大米", grandsonItem.DropDownItems, new EventHandler(MenuClicked));
    18             AddContextMenu("入库管理", subItem.DropDownItems, new EventHandler(MenuClicked));
    19 
    20 
    21             //添加菜单二
    22             subItem = AddContextMenu("出库", menuStrip1.Items, null);
    23             //添加子菜单
    24             AddContextMenu("添加出库", subItem.DropDownItems, new EventHandler(MenuClicked));
    25             AddContextMenu("出库管理", subItem.DropDownItems, new EventHandler(MenuClicked));
    26         }
    27         /// <summary>
    28         /// 添加子菜单
    29         /// </summary>
    30         /// <param name="text">要显示的文字,如果为 - 则显示为分割线</param>
    31         /// <param name="cms">要添加到的子菜单集合</param>
    32         /// <param name="callback">点击时触发的事件</param>
    33         /// <returns>生成的子菜单,如果为分隔条则返回null</returns>
    34 
    35         ToolStripMenuItem AddContextMenu(string text, ToolStripItemCollection cms, EventHandler callback)
    36         {
    37             if (text == "-")
    38             {
    39                 ToolStripSeparator tsp = new ToolStripSeparator();
    40                 cms.Add(tsp);
    41                 return null;
    42             }
    43             else if (!string.IsNullOrEmpty(text))
    44             {
    45                 ToolStripMenuItem tsmi = new ToolStripMenuItem(text);
    46                 tsmi.Tag = text + "TAG";
    47                 if (callback != null) tsmi.Click += callback;
    48                 cms.Add(tsmi);
    49 
    50                 return tsmi;
    51             }
    52 
    53             return null;
    54         }
    55 
    56         void MenuClicked(object sender, EventArgs e)
    57         {
    58             //以下主要是动态生成事件并打开窗体
    59 
    60             //((sender as ToolStripMenuItem).Tag)强制转换
    61 
    62             ObjectHandle t = Activator.CreateInstance("WinForms", "WinForms.Form2");
    63             Form f = (Form)t.Unwrap();
    64             f.ShowDialog();
    65 
    66         }
  • 相关阅读:
    Linux驱动之Framebuffer子系统基础知识
    C/C++语言常见面试题汇总
    转载-Linux驱动面试题汇总
    nginx服务在html中嵌入php代码无法显示问题
    关于strsep函数以及联想
    system替代函数
    system问题总结记录
    C语言-判断文件是否存在
    vue常见表单信息收集
    sublime 设置格式化快捷键
  • 原文地址:https://www.cnblogs.com/ankeyliu/p/4424841.html
Copyright © 2011-2022 走看看