1. 准备一个xml文件

>

2.准备一个xml schemal文件来验证xml文件

一个简单的基于XML的模块集成框架(含SourceCode)<?xml version="1.0" encoding="UTF-8"?>
一个简单的基于XML的模块集成框架(含SourceCode)
<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by peter (hust) -->
一个简单的基于XML的模块集成框架(含SourceCode)
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
一个简单的基于XML的模块集成框架(含SourceCode)    
<xs:element name="Menu">
一个简单的基于XML的模块集成框架(含SourceCode)        
<xs:complexType>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:sequence>
一个简单的基于XML的模块集成框架(含SourceCode)                
<xs:element ref="MenuItem" maxOccurs="unbounded"/>
一个简单的基于XML的模块集成框架(含SourceCode)            
</xs:sequence>
一个简单的基于XML的模块集成框架(含SourceCode)        
</xs:complexType>
一个简单的基于XML的模块集成框架(含SourceCode)    
</xs:element>
一个简单的基于XML的模块集成框架(含SourceCode)    
<xs:element name="MenuItem">
一个简单的基于XML的模块集成框架(含SourceCode)        
<xs:complexType>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:sequence>
一个简单的基于XML的模块集成框架(含SourceCode)                
<xs:element ref="MenuItem" minOccurs="0" maxOccurs="unbounded"/>
一个简单的基于XML的模块集成框架(含SourceCode)            
</xs:sequence>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:attribute name="AddToolButton">
一个简单的基于XML的模块集成框架(含SourceCode)                
<xs:simpleType>
一个简单的基于XML的模块集成框架(含SourceCode)                    
<xs:restriction base="xs:string">
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="TRUE"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="FALSE"/>
一个简单的基于XML的模块集成框架(含SourceCode)                    
</xs:restriction>
一个简单的基于XML的模块集成框架(含SourceCode)                
</xs:simpleType>
一个简单的基于XML的模块集成框架(含SourceCode)            
</xs:attribute>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:attribute name="AddToolbar">
一个简单的基于XML的模块集成框架(含SourceCode)                
<xs:simpleType>
一个简单的基于XML的模块集成框架(含SourceCode)                    
<xs:restriction base="xs:string">
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="TRUE"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="FALSE"/>
一个简单的基于XML的模块集成框架(含SourceCode)                    
</xs:restriction>
一个简单的基于XML的模块集成框架(含SourceCode)                
</xs:simpleType>
一个简单的基于XML的模块集成框架(含SourceCode)            
</xs:attribute>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:attribute name="AssemblyName" type="xs:string" use="required"/>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:attribute name="FormTag" use="required">
一个简单的基于XML的模块集成框架(含SourceCode)                
<xs:simpleType>
一个简单的基于XML的模块集成框架(含SourceCode)                    
<xs:restriction base="xs:string">
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="TRUE"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="FALSE"/>
一个简单的基于XML的模块集成框架(含SourceCode)                    
</xs:restriction>
一个简单的基于XML的模块集成框架(含SourceCode)                
</xs:simpleType>
一个简单的基于XML的模块集成框架(含SourceCode)            
</xs:attribute>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:attribute name="Image" type="xs:string"/>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:attribute name="Name" type="xs:string" use="required"/>
一个简单的基于XML的模块集成框架(含SourceCode)            
<xs:attribute name="ShortCut" use="optional">
一个简单的基于XML的模块集成框架(含SourceCode)                
<xs:simpleType>
一个简单的基于XML的模块集成框架(含SourceCode)                    
<xs:restriction base="xs:string">
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F1"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F2"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F3"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F4"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F5"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F6"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F7"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F8"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F9"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F10"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F11"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="F12"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt0"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt1"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt2"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt3"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt4"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt5"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt6"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt7"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt8"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Alt9"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltBksp"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF1"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF2"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF3"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF4"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF5"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF6"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF7"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF8"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF9"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF10"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF11"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltF12"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltDownArrow"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltUpArrow"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltLeftArrow"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="AltRightArrow"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl0"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl1"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl2"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl3"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl4"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl5"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl6"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl7"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl8"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="Ctrl9"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlA"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlB"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlC"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlD"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlE"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlG"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlH"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlI"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlJ"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlK"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlL"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlM"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlN"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlO"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlP"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlQ"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlR"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlS"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlT"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlU"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlV"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlX"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlY"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlZ"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF1"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF2"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF3"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF4"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF5"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF6"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF7"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF8"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF9"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF10"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF11"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlF12"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlIns"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift0"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift1"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift2"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift3"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift4"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift5"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift6"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift7"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift8"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShift9"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftA"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftB"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftC"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftD"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftE"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftF"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftG"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftH"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftI"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftJ"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftK"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftL"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftM"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftN"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftO"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftP"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftQ"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftR"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftS"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftT"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftU"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftV"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftW"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftX"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftY"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="CtrlShiftZ"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftIns"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF1"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF2"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF3"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF4"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF5"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF6"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF7"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF8"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF9"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF10"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF11"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value="ShiftF12"/>
一个简单的基于XML的模块集成框架(含SourceCode)                        
<xs:enumeration value=""/>
一个简单的基于XML的模块集成框架(含SourceCode)                    
</xs:restriction>
一个简单的基于XML的模块集成框架(含SourceCode)                
</xs:simpleType>
一个简单的基于XML的模块集成框架(含SourceCode)            
</xs:attribute>
一个简单的基于XML的模块集成框架(含SourceCode)        
</xs:complexType>
一个简单的基于XML的模块集成框架(含SourceCode)    
</xs:element>
一个简单的基于XML的模块集成框架(含SourceCode)
</xs:schema>
一个简单的基于XML的模块集成框架(含SourceCode)

3。定义一个类来加载菜单

一个简单的基于XML的模块集成框架(含SourceCode)public class MenuLoad
    }

这里面用到了delegate,最重要的函数是加载菜单的函数和OnPluginClick函数。

使用这个框架可以动态增加任意的层次的模块。

微软的CAB 使用Resigster site方式来增加模块,感觉不是很方便。

相关文章:

  • 2022-01-15
  • 2021-10-08
  • 2022-12-23
  • 2021-09-22
  • 2021-11-16
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-24
  • 2022-12-23
  • 2022-12-23
  • 2022-02-18
  • 2022-01-22
  • 2022-01-26
  • 2021-09-07
相关资源
相似解决方案