本帖最后由 hwhtj 于 2014-08-11 09:33:13 编辑

解决方案 »

  1.   

    动态创建菜单,看看下面的讨论
    Dynamically adding ToolStripMenuItems to a MenuStrip (C#/ Winforms)
    http://stackoverflow.com/questions/1757574/dynamically-adding-toolstripmenuitems-to-a-menustrip-c-winforms
      

  2.   

    事件应该写在swich里,什么菜单对应什么事件,写好
    当然如果没有加载相应菜单,就不会挂上对应的事件而动态加菜单,不就是递归一下,一级一级往下加子菜单就行了
      

  3.   

    还有这个,更接近你的需求:
    Dynamic MainMenu formation in WinForm Application using DataSet
    http://www.codeproject.com/Articles/6074/Dynamic-MainMenu-formation-in-WinForm-Applicatio
      

  4.   

    菜单这个地方 我做过.. 我可以帮助你 比如
     var parent = new ToolStripMenuItem("系统设置");
      var child1 = new ToolStripMenuItem("菜单管理");
      var child2 = new ToolStripMenuItem("权限管理");
      child1.Click += (o, e) =>{
        //获取tag(你绑定的from) 然后反射findform as from 然后.show 就可以了.. 以前写的忘记了没有具体实例
      };
      child2.Click += (o, e) =>{
      
      };
      parent.DropDownItems.AddRange(new ToolStripMenuItem[] { child });
      menuStrip1.Items.Add(parent);
    首先来说 上面的东西 就的动态的了..但是要怎么跟datatable关联起来呢?简单来说 循环添加就好了...那都是代码的事.,思路清晰很简单就写出来了