WinForm设计之插件

Author:水如烟  

代码见应用类代码辅助类代码

这个插件方案比较简单,如果只是自己使用的话,那可以应付过去。如果是做一般应用软件并面向大众的话,那就不妥了。最不妥的是安全,因为它把整个主窗体都暴露给插件设计者。

示例插件AddInsClassLibrary.Dll:

Imports LzmTW.uSystem.uWindows.AddIns

<AddIns("About""AddInsClassLibrary.About", Author:="LzmTW", Description:="自动添加关于对话框", Version:="1.0.0.0", Lasttime:="2007年7月28日")> _
Public Class About
    
Implements LzmTW.uSystem.uWindows.AddIns.IPackage
    
Public Sub Load(ByVal mainform As Windows.Forms.Form) Implements LzmTW.uSystem.uWindows.AddIns.IPackage.Load
        LzmTW.uSystem.uWindows.uForms.uMainForm.AboutFormAddtoMainForm.Instance(mainform)
    
End Sub

    
Public Sub Unload() Implements LzmTW.uSystem.uWindows.AddIns.IPackage.Unload
    
End Sub
End Class

 主窗体使用插件系统的代码:

Public Class MainForm

    
Sub New()

        
' 此调用是 Windows 窗体设计器所必需的。
        InitializeComponent()

        
' 在 InitializeComponent() 调用之后添加任何初始化。
        Dim gAddInsManager As New LzmTW.uSystem.uWindows.AddIns.AddInsManager(Me)
    
End Sub
    

End Class

很简单的。

设计时的窗体,

WinForm设计之插件 

运行后:

WinForm设计之插件

添加插件:

WinForm设计之插件

WinForm设计之插件

功能:

WinForm设计之插件

下一次运行时,自动安装插件:

WinForm设计之插件

自己打算说的,到现在也终于“说完”了。不是之处,请谅。仅供参考。