MDI程序中反射生成菜单并与权限控制的结合(利用XML将模块组件装配与卸载)

思路:
第一步:将程序按模块划分,提供一个接口给这些模块,模块要实现这个接口,将模块封装成组件。
第二步:将组件名、组件中的成员以及权限信息一起写入XML文件。
第三步:在主程序中读取XML文件并结合用户权限判断,再用反射生成菜单。

下面是小例子
首先定义一个接口,然后封装组件
public interface IMdiFunc
{
   
void void MdiParentToolBarOnClick(string st);
}

在将菜单信息和功能写入XML文件dymenu.xml
<?xml version="1.0" encoding="utf-8" ?> 
<ROOT>
<主菜单>主菜单1          
     
<子菜单>打开窗口1</子菜单>              
    
<菜单DLL>MyForms.dll</菜单DLL>             
     
<菜单Func>OpenForm1</菜单Func>
    
<菜单Right>A</菜单Right>             
     
<子菜单>打开窗口2</子菜单>            
     
<菜单DLL>MyForms.dll</菜单DLL>             
     
<菜单Func>OpenForm2</菜单Func>
    
<菜单Right>B</菜单Right>  
 
</主菜单>
 
<主菜单>主菜单2              
     
<子菜单>打开窗口3</子菜单>             
     
<菜单DLL>MyDlls.dll</菜单DLL>
    
<菜单Func>OpenForm3</菜单Func>
    
<菜单Right>C</菜单Right>  
</主菜单>
</ROOT>

在主窗体中考虑权限并用反射创建菜单,这里只是模拟权限控制。
主窗体
posted on 2006-10-28 15:46  莫相会  阅读(866)  评论(3编辑  收藏  举报