日期:2014-05-20  浏览次数:20645 次

winform怎么控制MenuStrip 显示哪些项
我想用MenuStrip显示 权限操作项 , 怎么控制MenuStrip 显示哪些项,不显示哪些项啊, 我数据库里存放的是 MenuStrip 各项的ID。

------解决方案--------------------

用MenuStrip.Items[ID].Viable进行控制
或MenuStrip.Items["子项名称"].Viable
------解决方案--------------------
探讨
那个 只能控制第一层

------解决方案--------------------
写个for循环,进行逻辑判断,最后设置父项的Visable
------解决方案--------------------
在数据库中创建表,存储系统、菜单和角色的关系,加载系统时,根据用户权限动态加载菜单。
------解决方案--------------------
如果你有好几层菜单,建议你使用Dev的Ribbon Form!
能更好实现你的想法!
------解决方案--------------------
设计成刚开始的时候动态加载子项,这样方便管理,而且逻辑也会清晰点吧
------解决方案--------------------
反射
C# code


                   //事件信息
                        EventInfo EventInfo = control.GetType().GetEvent("Click");
                        //委托
                        Delegate Handle = Delegate.CreateDelegate(EventInfo.EventHandlerType, 方法所在类的实例, "方法名", true);
                        //注册事件
                        EventInfo.AddEventHandler(control, Handle);