无涯 原文 从 dll 程序集中动态加载窗体 [原创]

  昨天晚上花了一晚上时间写了一个从程序集中动态加载窗体的程序.将任何包含窗体的代码编译成 dll 文件,再把 dll 文件拷贝到本程序的目录下,本程序运行时即可动态检查到 dll 文件中的窗体,将窗体类的类型在程序菜单中显示出来,点击菜单即可运行对应的窗体.

  本程序主要用到了 Assembly 类动态加载程序集,再得到程序集中包含类的 Type 类型,动态生成类实例,动态调用类方法.个人觉得这是一种提供高度松耦合,可随意扩展的程序结构框架,希望和大家探讨一下这种框架的应用前景!

  关键性代码如下:

using System;
using System.Drawing;
using System.IO;
using System.Reflection;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data; namespace WindowsFormTest
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class FrmMain : System.Windows.Forms.Form
{
private int formNum;
private ArrayList formTypes = new ArrayList();
private ArrayList formObjects = new ArrayList(); private System.Windows.Forms.MainMenu mnuMain;
private System.Windows.Forms.MenuItem mnuItmRun;
private System.Windows.Forms.MenuItem mnuItemWindow;
private System.Windows.Forms.MenuItem mnuItmHelp;
private System.Windows.Forms.MenuItem mnuItmCascade;
private System.Windows.Forms.MenuItem mnuItmTileHorizontal;
private System.Windows.Forms.MenuItem mnuItmTileVertical;
private System.Windows.Forms.MenuItem menuItem1;
private System.Windows.Forms.MenuItem mnuItmAbout;
private System.Windows.Forms.StatusBar staBarMain;
private System.Windows.Forms.StatusBarPanel pnlInfo;
private System.Windows.Forms.StatusBarPanel pnlNum;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public FrmMain()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} Windows 窗体设计器生成的代码 private void FrmMain_Load(object sender, System.EventArgs e)
{
Assembly assembly = null;
string windowsPath = Path.Combine(Application.StartupPath, "Windows"); foreach (string dllFile in Directory.GetFiles(windowsPath, "*.dll"))
{
assembly = Assembly.LoadFile(dllFile);
Type[] types = assembly.GetTypes(); foreach (Type t in types)
{
if (t.BaseType == typeof(Form))
{
this.formTypes.Add(t);
MenuItem item = this.mnuItmRun.MenuItems.Add(t.FullName);
item.Click += new EventHandler(menuItemNewItem_Click);
}
}
}
} private void menuItemNewItem_Click(object sender, EventArgs e)
{
MenuItem item = (MenuItem)sender; Type t = (Type)(this.formTypes[item.Index]); Object obj = Activator.CreateInstance(t);
this.formObjects.Add(obj);
formNum += ; t.InvokeMember("MdiParent", BindingFlags.SetProperty, null, obj, new object[] {this});
t.InvokeMember("Text", BindingFlags.SetProperty, null, obj, new object[] {t.FullName+" 窗体:"+formNum});
t.InvokeMember ("Show", BindingFlags.InvokeMethod, null, obj, new object [] {}); ((Form)obj).Closing += new CancelEventHandler(FrmWindow_Closing);
((Form)obj).Activated += new EventHandler(FrmWindow_Activated);
MenuItem menuItem = this.mnuItemWindow.MenuItems.Add(((Form)obj).Text);
menuItem.Click += new EventHandler(menuItemWindow_Click); this.pnlNum.Text = "当前装载了"+this.formObjects.Count+"个窗体";
this.pnlInfo.Text = "当前活动窗体:"+this.ActiveMdiChild.Text;
} private void menuItemWindow_Click(object sender, System.EventArgs e)
{
MenuItem item = (MenuItem)sender; ((Form)(this.formObjects[item.Index-])).Activate(); this.pnlNum.Text = "当前装载了"+this.formObjects.Count+"个窗体";
this.pnlInfo.Text = "当前活动窗体:"+this.ActiveMdiChild.Text;
} private void FrmWindow_Activated(object sender, System.EventArgs e)
{
this.pnlNum.Text = "当前装载了"+this.formObjects.Count+"个窗体";
this.pnlInfo.Text = "当前活动窗体:"+this.ActiveMdiChild.Text;
} private void FrmWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
for (int i=; i<this.formObjects.Count; i++)
{
if (((Form)this.formObjects[i]).Text == ((Form)sender).Text)
{
this.formObjects.RemoveAt(i);
this.mnuItemWindow.MenuItems.RemoveAt(i+); this.pnlNum.Text = "当前装载了"+this.formObjects.Count+"个窗体";
this.pnlInfo.Text = "当前活动窗体:"+this.ActiveMdiChild.Text;
break;
}
}
} private void mnuItmCascade_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.Cascade);
} private void mnuItmTileHorizontal_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.TileHorizontal);
} private void mnuItmTileVertical_Click(object sender, System.EventArgs e)
{
this.LayoutMdi(MdiLayout.TileVertical);
} private void mnuItmAbout_Click(object sender, System.EventArgs e)
{
new FrmAbout().ShowDialog(this);
}
}
}

程序源码下载:/Files/Infinity/WindowsForm.rar

程序截图
单个 dll 文件包含一个窗体时:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAA3CAIAAAAXGZZ1AAAgAElEQVR4nO19d3hU15k3u9lkv/Um2XUSgx3iAi6JkzgucWJsJ46J7RADxtgGjAFjAqbYVFNsmg2iSRQh1AsgCUkgISGEEOq9t5nRaEajaRqVURlpern9nvL98aIbxSb7Pdnvebx/rM8zjx5xZ3Tfc87vfX9vO3eYJosEYypjIiBZJEiiWKRIpgRemFJCKJ18IYy//CIYEYwJxX/9efuFCGLFoIiCEg6wgjPIjYbEMUaaCEouBgc4yjNUClEcpDRAqZ+SACUcJZh+M76OMU2WKaZUkBEjSTzBrCwFRUGiFF4ypYhQjCnBFBM6RQcoJn/7omTyJ0EYXkgQGEkKMqyL492MMMHKTkZ2BiUnh30iZXjK81TmKGEpDVEaIpQnlPxP78j/kjFNRhRTyolySJR4QpzBkGloyDo8bLUPW4eG+waH+/rtff12m83eZxs0miwGk8VgMvcYzfpek95g0vUYdT1GjVav0erUXTqVprtTre1QdbV3drV3qjvaOsuLS5obG5wTDlFiRcyGBG9I8MgkiGkIERYREWEsIyrJVBSpLP9P78f/mjFNRhRRyopySJQ5TGyOiXZ9j21szDY6ZhsZsw2P9Q+N2gZG+/tHbf12k7W/12IzmPt6TFa90dJtMGl7TNoek1rbo+rSd2r07Spda4e2ub2rqVXd1KJua+mOj07Nyy0pq2hqbOuyDTt8TEhEIiEiJSzFLJUFKslUIJSjhKVEoN+Y/NczpsmYypTyCDMSYhA220c6e3p5SgVKBUp5QgWZChKVJCrJRMSUlZCACI8wJyFGkP2MwAgyIyBGkEO8FGAlf0j0BgWPn3f5BLcfZebUFFf1XMypPR6Xc6WktXfY6xeJiDHBEkUClQTKi5SRaRDTEKXfAP91jWmYUkSpRCgrY0bGtpGxDr2Ro/Q29oQKMhURRZhiSgWEgoIgYCxgIlEqEhrkZR5hkVCRUAFRXqacRBmBhnga4KkjRJNyW/MbR7Lrh/cllR88X36lwdI9xrkFKiCCEaKSSHmBhgQalGmIEOEbJ/81jWmEUkypRCiHyG3gdb0AvEipSKiIqIQoxhQTwktySBRZWeZkLGAiEsIjwopIwFTAt1FnxdvA+wQ6EKQR2e3JdSOJje7PsnUbEmt3XKhJb7ZpJwQHi3kJE1kiIk8FkYoYcUjmpG+A/3rGbeBlSjlEWBnbhkfbtQYeU4FQiVKJUAlThAjGFBEiIFmiRCJEopRDKCgIIsY8QgKmPKK8/FfUgxx1CXRIpscLuyKbxiOa/XvLnRuyjW+dLdt0oTa9dVDjYN0ClgiSZR4hARMsyIgVxP/pDfnfMqZRSjGhiFABEV7GNvtIm0bPIyoSKlOKKEWYIIQwRjKSfKEAj0VWFiVKREq8DBMSRW+I5WTCyZSV/op6gKUTPO0J0T1XWr4oG/60bGJL0cSmAseSxM7Fp0t3X2q42tpncgZDCPFY5DEvUMQQHELyN3n81zOmTWbdREJEkLFtyN6q0vISkTBFt/N1jLFMsEyoJFPEEsHDBVgiChSxROYJFigNyTgkk6BIAwLx89THES+Lxzli5eixa60nygYPloyvu9y/6pLtveSet0/WvPN59qcxBYUNukGXj0ESR6UQRX5KQpSg/+kd+V8yphEsEiwRgmWERQnZBuwt7RpOJBKmhFBKCSEywSLFEiGSSISgzIhU5okYkFi/yIz53CEkByUUlFBARH4e+zjiYZCHQS6GjDL0VGbllqiSNWdr//xF+Yu7S36/89ac9Rm/XX7q7Y2nI2Jzmtr13kBIoiREsZcShtJvgP96xjQ6CTxCWJKxrX+otU3FC0iWCQBPCaJYokTEWPBzPifjEojo5jxeISBS7OWZgCQGRDkgyn5B9vGSl5U9jOQOyZ4g8vlJwc2OI2dv7otu2BXXvSXGtC3asiVCtXFv4catSfs+jbuWWTzSN4okwss4iLBA6TdU//WMaQSLGN0GXpawzTbY2qISeCzLhBBCKMKUl2lIogGeBtycK7fy+rHYkwtXLvk8MnxM9DuQ10dYL+IDosxwhAnhYIj3sKFxlnUwoj9IhvqZ+sbRW7We3CrmfFEw+UbgQoEnLXck8lz9vj3nE6Ou9qgtAiMKosRJMvomjf+6xjRCCaYEEYwQxojaLANNte1CUCaYIowCks8tjXnwsJFT9xOT1q8/cTnmvd2bX1i6+PVNG9Jbyq141EhtduJhCRa8lB2RpVDQL4xbmFETH7AH5bEJbB9B/XbcO0C6B7Dahhu6pWsV7jPxqo93XAo7nqNWD7GMgJBAsESxLCOJ4zhKqdFofPvtt4eGhv70pz+53e4XX3yR5/knn3wSY/yb3/zG7/e//PLLY2NjCxYs6OvrW7ZsWVdX14cfftjU1LRly5aKioq9e/fevHkzLCwsMzPzzJkzKSkpiYmJUVFRGRkZR48eLSgoOHjwYFlZ2bZt25qbmzdv3tze3v7ee++ZzeY33nhjeHh43rx5brf7+eef5zju6aef9vl8c+bM8fl8r7zyysjIyKJFi3p7e5cvX65SqdatW9fY2Lh9+/aysrIDBw5cv3796NGjGRkZMTExKSkpKSkpZ86cycrKCgsLKyws3Lt3b1VV1ebNmxsaGjZs2KDX61euXNnT0/Pmm28ODw+/+uqrExMTv//97wVBeP7553mef/HFF91u98KFC4eGhhYvXtzb27tq1arOzs6NGzfW1dXt3LmzpKTk4MGDubm54eHhaWlp0dHRcXFx6enpp06dkiRJkiSWZSVJugPwiFKZEolgGRGMqM080FzdIYUIEjEv8wHssQuWSnvhpZ74NH1CB9+Z1py9O+74G1vXz/nL8m0Z4ZGdsbuK9qS0Xzb6RpkAZh0EcSG/6DCERo0S189gu4uOOunoBB0co/3j1OzAHWYuv2oiIqHrwx1X9h/Lb+8aDbE8RgLFIhI5nmMlSeJ5PhAItLe3MwzT1tbGcVxzc7MkSWVlZZIkNTY2SpJUVVXFcVxTUxPDMJ2dnV6vV61Wu91uvV7vcrk0Gs3w8LDFYrHb7X19fSaTyWg09vb2WiwWg8FgtVq7u7vHxsb0er3T6VSpVBMTE21tbQzDgNDm5mZRFJubmxFCDQ0Noig2NTV5vd7a2lqO42pra30+n0qlcjgcGo1mdHS0q6treHhYrVbbbDaTyWS32/V6vclkGhgYMBgMNputt7d3cHBQp9O5XC6YYVdXl8/na2lpCYVCnZ2dHMc1NDQIglBbWytJEvze3Nzs9Xrb2tr8fn9LS0swGOzq6vL7/TqdzuPx6PX6/v5+nU43MjJisVgsFktvb29fX19fX9/Ro0cBe47jAoEAQl+Onf4KvIQIxrTP3N9c14FFKskoiIMuOqrxNUXWH0roOZagO1Y5fq3cWhhzPX7DkR2/37BgQ+r21fnvPX/22TcSlh0sPNdkM7tCssPtGvQ4+jmmxy9bfLjfjYdcZMhJbWPINi6bHWKHJXC9evRkgmr9jssHjgLwIpZFimRZ4DmWxRgLgmAwGLZu3UoIJJOY53lCiCRJ8G4gEBBFkWVZWZYJIT6fT5IkhmFCoRBCiOd5nucRQoIgCIKAMZZlWZocoijCu2AQHMeBCPiY1+tFCAUCAZZlCSGhUEiSJFmWA4GAIAiyLAuCIIoixhjmxvM8zITjOFEU/X6/3+8XRRHUF37hOI5hGPgALAHmJkmS2+2G6xjjQCAAbyGEYLHw0+PxwLQh7IJVK6uTJAk+L8uyLMuwCrPZrNVqQ6GQ1+uFCX8ZeEwIolQiRMIUYWox99dUtwRDfEhkfcRjJ5aS0aub8947qtpytmt3+XCqeqIio+z8rtOfvLLlD5uurFl8be5vUn/xVMLzvz7z+vGGS3rObQm6+31Bp4SMTmJyIatH7PPgPic1OyTLBG9ysB0WT0H10Jn4to3bMz8/mtehGQmxEkaIIkIkLIm34RkcHIyPj1+zZs0HH3ywfv36lStXrl+/XhTFQCAgy7KCK2wH7IUkSaATLMtijM+fP19VVSXLsiiKeXl5a9euXbNmTWZmpiiKHMdVVFSsWbNmzZo1q1atioiIgC1GCDEMA7rFcZzP5xMEAdQCUJEkKRgMchwHSkAIYRgGRMfExBQXF/v9fvgTmCTP84AZ3Jzn+WAwCOiGQiFQF/gAIBQKhWBFbrebYRgQHQqFMMYHDhxYs2ZNd3f3sWPH1qxZs3nz5s7OToZhRFFMTU1ds2bNxx9/XFZWBkpQWlqanp4uCILH43E6nV9l+2mEYEyoTKhEqEyo0dxXUd3k4wSvHBgjwyaiLnClftqwer/2/Yjuj+pcWUZfY2bxxV2nt8/d8uzKS6+/nPOLX9/46WN5v5p14TeLbmxK7Cvs5IcHBHHYj/rHicUt9npZo0c2OonBwfdOhHrHAx0WZ2GV7Wx808fb0w4duarSDDOMhBCiiFJEZQkxDCMIgs1m+/TTT/fv33///feHh4cfOXJk1qxZHMeB0wIrV/ZXMRGEkM/nY1k2GAwWFhaq1WowoMbGxsjIyAULFmzZsoVlWYZhWlpa1q5d++yzz546derzzz+PjY0FGwXTF0URIQRbxvM8wMMwTCAQ4HkeFE4RChMoKirq7OwMBoNgecATwBDwOzs5YP6iKIKhh0IhhmF8Ph+oEeh9MBhUqAUUJSMj48EHH6ypqcnNzY2Kinr22WcLCgoA+IqKijNnzsybN+/kyZOgKyqVqry8HHje7/ffgeoJljEmALxIqN5svVVV5+KZEXG8w9NS5SvIcEWeGt6637b8lG1TtStDM15zsfDC9jPbXtj6i5ejf/5w0n/en/eDu3Pvubfg8Yczn3/jxocXLCVqn8s8yg+MyRYPp/cGdR5J5yRaB6efCPaM+zos4zerLOfi67dsOx925IpGPcQwAgBPEEUIMwzj9XpHRkaioqKsVuvjjz/udDqPHDkSEREBWyYIAiEETIdSCmgJgsCyLNB4MBgE+EVRVEDCGJ88eXLHjh2w+4Ig5OXlLVmyRJbloqKiP/zhD+BQMMaKerEsCxYM0Hq9XoZh4DMAORg9KBylFOagoA6mrOhBKBSC+yjEC6AqXgD8FGgzEBWsV6H93/72t83NzeC8Fi5cmJ+fD4oFDL9z585jx46BA2pvby8pKQmFQuDI7mTxSMIYI0IlSgVKtWZLflnloN9lDtqumXLS+2NiRvZHuDbusr8RNrCqwBFTM3Q9uSL147itT+965JEj/3HX6Wn/mvxP/3Tpn/41957vpz44O3bOX/LDblh0fR520CmYPYzWG+pyy10TVDUmdI0zuvFgh8VZVGWNiavbvjX5WFhGl7qfZXiEEMUUy0SWkSRJfr9/YmIiKyvLYrHcfffd4eHhP/zhD91uN8Y4Li4uOjo6ISEhLi7O5XKBfRBCLl++HBkZ2dfXx3FcKBQqLi6Oiorq7u6GHec4DmN86tSpTz75BIDEGF+9evWZZ56Ji4s7ffp0VFQU3Mrtdp8+fTo5ORk8dygUIoSAuLNnz/r9fo7jCCHZ2dlRUVF2ux08TlFRUVxcnEajASWrra2NjY09d+5cQ0NDV1dXfHx8dXW1LMu9vb2xsbFFRUUY45GRkZiYmJycHI/HExsbm5aWpngTIAlFoTHG6enpMTExDz74YGtrK7iShQsXXrt2DdQF4oadO3ceOXIEVKeuri43NxfuA9TyZeApkghGmBCJUp7SLpMlp7TM6htXj+siyo+e6PjspH3HIef7n4y/vsu6INH2aY4tIbo1YdWFtY/uv+9HYf90V8y3v5P47X/J+s7/yfnh9y7OnHHqV6/Fb01ubzZ6g/0e3uhhujysxoVU47R9VFY5RO0Y3272FlXaYmPrdmxNPB6WplX3sQyHkEwIlWUsSTIwW39//969ey0Wy3e/+9133nnnBz/4AWjut771reXLl991111LliyJiYlxOp2iKBYXF2/ZsmXVqlXR0dFms1kQhJiYmFmzZiUlJVFKIbaSJOnEiRPbt28HSxIE4erVq7Nnz37llVfmzZsH+DmdzqSkpFWrVq1bty43N9fv90uSlJWVtWrVqjVr1nz3u9/t6+sjhNy8eXPTpk3vv/9+bGzs2NgYwzBnzpx56KGH0tLS4M7p6elPPPHEk08+efXq1cjIyJ///OcXLlzo6+s7derUqlWrdu/eXVlZ2dvbO2/evEceeSQxMXHlypVbt24FQ+d5nmVZSimYKcMwhYWFGzZsWLFixYwZM1paWoBvFixYcO3aNWAv8Ai7d+8OCwsD+jEYDO3t7UAeSlR4B+DRJPAakzm7tMTsHauyNCwJXzz/3O/+Uj1/x8Bbnwbe3GF/7YD+7ePdHx1U7Z2fNf+JhPtnX/j+A9l3z8yf8aOr992T9eB/nH3ghwef/OOZPVF17Q2DXoOTNbhZjSOkdsjqcdo2QjrGiMaBmnv9hRWDsbENOzYnnDicqlVZWCaEiIRvN4QwkKHP56uvrzebzQ899JDH43nvvfcAm29961ssy959993j4+MPPfSQ1WqllG7ZsiUlJaW8vPzXv/51UVERUOvq1auTkpKAJ8EFHDt2bMeOHfBPlmVzc3MXL17c1ta2fv36lpYWSml3d/dPfvKToqKizMzMH/3oR+BQ/vmf/5lhGELIsmXLRkZGMMY/+9nPEhISSkpKnnjiiYqKCmDXZcuWZWRkcBwHlrp3794DBw4YDIbjx48nJiZijC9evDh37tzS0tLDhw//6U9/IoS0trbOmDFj06ZNgCXP8+AvKKUQscLkH374YaPRiDF+8cUXW1paAFoAnhACHkqSpN27dx8/fhzAzsvLi46OBlOR73SibRoliBCMMBEJ5SlVm0zZpSVW33jLsHpt3AePbf7xU6fuX90xd4dr4dbRP+7uf2WT+uUP1e/MK/v9W6rfvdr8xC+v3/9c8VO/yvnV/VGPTd//swd3vfqHg5/H1pobRwS9mzd6WPWQTz0kdo/TthHaOkw7R2mtLnCjYiQ2rnnLxtiIwxe1nUaW8RMqyZRIGPPC7aDJYDB88MEHvb29DzzwAHjKtrY2WZa//e1vB4PBe+65Z3R09JFHHjGZTLIsq9Xq5cuX//GPf5wxY0ZxcTF49A8++CApKQnSG8isIiIitmzZomRleXl5b731liAI1dXVL7/8MsZYo9H827/925w5c+bMmfPaa68B3377298GT6FkYj/72c+eeeaZF1544fnnn4cCA8Z4+fLlqampSm4WHx8fFha2adOm3bt3AwBpaWkzZsx48cUX58yZs3XrVoRQS0vL008/DYoOc6aUQrgAfwLRzIMPPtjV1YUxfuaZZ1paWiCXU4AHzwXAh4eHg4oPDg729vbCMiFP+TvAEyJSylOqNppyy8oGQu4+aeRG/41NOX/5sGzJ5u53Pg+sWWd9abX26Y2WuYtaXljS/eqf2558ofShV4p++UrOM39I/vXSK0sWxK6Ye+jDBQdOnCvpah3zGf3uQb9nwBnsHZY1Q7RtiDYO0vo+3GjGZc3BmLi2LRvjwg9f1KoMLOMlVJAplikVJTEQCICpqVSqsrKymTNnmkymjo6Ou+66SxCE73//+06nc/bs2Tab7YEHHtBoNKFQaNGiRYWFhQaDYeHChZcuXZqYmBgaGnr77bePHTvm8/kwxk6n02QyffbZZ+vXrzebzXa7fXx8PCYm5vXXXx8eHq6urn7mmWcsFktnZ+fcuXPNZrPJZDIYDD6fj+f5n/70p3q93mAwmM1mKCcsXLiwqKjIaDQ2Nzf7fD6GYQYGBhYsWHD06FFIBCDo++KLL+65555Tp05BclhYWLh+/XqtVms2m4eGhrxeb05OzuOPP26xWCC253lelmWNRgPmLknS2NiYJEmvvfZaXV2dxWL5+c9/fu3aNbPZ3NvbO3fu3OjoaKPRODY2ZrfbtVrt6tWrd+3aZbFYRkdHExMTw8LCQOMh3f8q8JhQjAiRKRUIVRuMecUlIwG/izJ63nh14MqZ3iMnR/Zv1i//QPPnuTd/uqTj9+9oX1mqe/Xl8kd+mfy9hVmPvxH3i7dOPnuyYt/WlF2v71j3u/c37jyXUm5o6nWpdOYGW79pYDikH8SaEdo2QqstcnUvKm4ORcW3f7wpPjwMgPdgyklUlgiWJuPkhoaG++67b+bMmTNmzJg+ffr06dMfeughlmUffvhhhmEeffTRiYmJ3/zmN1arFWLj119//d57750xY8bMmTOLi4s3btz44IMPPvbYYxcvXhRF8dixY9OnT585c+bMmTPvu+++nTt3Xr58GW67fPnyxsbGmTNnzp8/H2Os0+nuvffee++99/nnn1e2aebMmdOnT//xj388OjoK7Pryyy9Pnz79/vvvb2pqkmX5/ffff/TRRx966KHU1FQlWzt16tSJEycgOgMve/369ZkzZ/7kJz9ZtmxZR0fHo48+et99982fPx9Ijud5n883a9Ys4IyRkRGgAUmSnnvuudmzZ993330vvPDCrFmzHnjggUcffRRmlZ2dvWvXrunTpz/yyCOzZ89++OGHo6KiQqFQMBiEApTL5bqTj6cYTwIvYtqlM167WTri9bkQM069FbaaN88uCtMcWF2+7L7P7/4/2/9lZsQ9q7vfnl/x7OJbT7ySNGPb1Tn7Lr38acwrlbqk05nHl25fN2fRm+9tW3ulOKK1K6b05pG26sw+U69pIKC2y+1jtH6IlBmk6/X+yITOjz5KPB6W2qU2sIwXU16iWKYEYazEohDswLwhcaeUQqgytRgC6R8U3ZTATWF4yHRhtZDdQbgXCATAlcJ2y7IMdZJAIAA1TrfbTSkF2/X7/UBCACrkdaBwkC8BOStcDUUkEBoKhSCThlR+YmIC/lYpIELqD9iDT0EIjYyMwJJBCqU0GAxC2Qe2BfJGSil4MQgOgNj9fn9kZOTmzZu/yvB/BZ5QgiiRCUGUyph2aXsLb1Z4/fxEMDghBtuGut8++t7jm371i0+f+vGWnz59Yv6LcfO3tK1bV/ba/roFJyvn15i2N6m33Sz50MeWFjdkHY89unrLik07Xs/MXFp5453SzCVlmVs76y6brUb1wHj9gL9xTK4dwNebQ6cT1Bs/SjoWlt6lAh8vTvp4HvS9o6MDWhSyLI+NjUFqDpOGnQJtUOyJ4zjYNfCXdDJLhr0AwEAbQLHgnxA5S5Lk9XoBKlAFh8MBoZZSHYK3oNgyODgICgSqwHEcYOD1ekEXweJBBaF+BwUZkAuwQdIPt1VuDnVJ+CeoOKwUvLhSQoZ9UBowLpcLKsperxfyTxANdUyoE3wZeESITIlMCKYUIdqlMVzPK/G6WX+QtY6ND0uBgp7qlz5Z8MyOuRtzD+8oStyUH/bkngde/vw/F+/7fnjKU92qdZralYa2HZJY0dieF5cWuXXnu5/u/N3Ni6+05bzYnPlyYexrVXn7bH1NZudw4/B4zTBTNYCutQYjklTrP04+GnapS2VmmSChMpz0woQAJKFQaGBgQJZlpQSBMQ4Gg5DNQz0cdhDCWtgypXANoCo7AtU6QEsxNbBF+DBEfFAxxRhDRA3GrVTIFeIRRXFwcBCyfKV9ANTi9XonJiaAEiANCQQCSiEW7Nvr9Sp1XAhoeJ5XyjuEkLGxMXjX6/WC1YJuwVRBy6HcC3oPq4blwyRTUlL279+PEOI4Dtb4ZeBlQiSCJYIxJRgRrUqfl3Vj3O4VOOT2ix5ZMvjHi/raklWFcR23soyalM785zb9YNGuf1mz5Z9z0n8zoV492rx8oG2T4M2pb845G39q7V/m7fvo2fqkuZbM32pTf1UW82RZxoqujjT9sKpptL98aKLI6s9u9ZxI7ly3OfnIkQyNysIwDKFIJlRChOMFqH4bDIbFixcD2UKyDr8rBA7wQNUFVqgU26HkCXENYDC1SQM8D4yq7CaQLRApCJqYmIBfYKegAwT9kkAgMLW1A1VCmAMEaKCUAA/AD2wEk4foT6n4QtEe5gP+ZWrfBTBT8j1gO7gV/FSoRSE/hNDY2NjQ0BBkJbDqLwMvESoRLBNMKMWIdHXq8q8UOe3BkA+FGOJk0AgvDcicOuho9ox0s0y3vzfp5przV14ozJhjb1gSbF7sqltka1jJudLU2sKk1Jh1H/zp0Ee/bY37gznlF/rEWZ0Xn6hK/1PR1U1ljYn1ttaa4ZGSvuDV1sCJZPXazclhR9PVahPDBDFFMqEyoQhhQNftdre3t4Mp5+XlgTeFvVC6JqDgHMeVl5enp6cnJyfb7XbYetg7YH4gf5VKdfHixcTExPLycnD2sCNms7msrAw20el0Xrx4MS0t7fLly0APLMteuXIlPj7+woULDMMwDBMMBkVRVDqBQOaCIFRUVJhMJpDb2tqakJAQHx+flpaWkZHR1NSk1+svXbp0/vz5pKSkixcv3rp1CywV+jGFhYUul4vjuLS0tKSkpMuXLycnJ2dmZip8AIQBk4Sh9KjQ5ABVgPoPFI5gMkrw8TfAwyOPk485Uo1al5113THiDwaxL0ScITLOkxFOHuCFPjZol4MOwdDe8bm1c8N43VK5411P2cveuvl9je+GXElafW5s4tHtm97c/u5jaTvvqzzyH40n7u5Kerwx9bcFF/+YlbOutCOraaC/2izcbJNPxGtXrY85fDylQ9MV4FwyFSRCRURkRABjq9W6Y8cOj8dz4cKFhIQECF6USAe2HhzhjRs3tFqtyWTS6/U3b94ETQcyUMrdWq22vLxcp9P19PTU19dDjx9jbLfbk5OT09LSAIBbt25ptdrOzk6tVpuTkyNJUkZGhl6v7+zs1Ov1165dg9YccDvcHFxDXV1ddHS0Wq0GhEpKSnJzczUazeXLl7OyssbGxjo7O9PT03U6nV6v1+l0VqsVgPR6vRkZGUlJScBDp06d0uv1RqMRij/AcwCegplC+AqiZMqAeB4SYIUV7kD1hFBCKMZURhQRqtJ0X8rMs4/5/Bxxh7CTwRMMGQ1IowwaCgbsgdHhiabmkncLPk8AABYGSURBVN3jrduQZr1cM5+peNnfML+vYamj73hHe1x83M7dG179aNGM6I/+LX/ft6oPf1cb/9PW878qSPr1+aT5eaWRtd091Tq+uJWGx3atWHvmcHhcR1e7nx+XKCcRKiCKMJFlmWEYt9udn58fCoXq6+tPnz6tdEvplIY0UHFsbOzIyAg4yAsXLuj1eogJwAjA9VZXV5eVlUE9pLGxMTs7W5bl0dHR4uLigoKCjIwMjPHg4OC5c+cgXxgdHY2MjBRF8ejRo0qfOyIiwuPxgPOeGi0SQoxGY2xsbGdnJ1in2Wy22WyiKJaUlBQUFFBKOzo68vLyFPsDJvP5fGVlZaWlpWfOnAELbmlpgdvu2rUrFAp9NRr/rwfcmeO4W7dupaenk8mA6e8DT24D36HRpmbmDo15vRxxhpAzhCdCZMQnjwXxsD80EhgfGmk79/mCG6fnqlJe4Evn4eYFTOPCodqlfa3bOmu+KMzcfm7f3LObZxUen1kV/t2W0z9sj551/dhPovY+ePTzuRevRJa399Z0C6VtKDyubcWHJw6Hx3R0dfo5t0QFiVABEVGSYeoDAwNnz56VJGl8fDwqKgpwBY8LkRQQAEIoISGhv78fiDcrKwuqm4qhQPfdarX29fXxPG8ymYqLi7VaLc/z3d3dqamper0+PT1dFMWBgYG4uDhZlj0ez/j4+PHjxxmGOXr0KPgOhFBkZCSUdBR2VWI9SZJyc3NVKhV8GPjWbDZXVlYaDAZBEFpbWyMjI4uLi4uKilQqFWik3W5PTEy02+0APBSSJUkqLi6urKwEnv9HgQc3197eXlFRofD/nYDHt4FHmCJCO9TaCxlXB0a9HpZMBNF4EDmCxO6VRgNoyMsMetwj4+bNK3/32bIHzq68iylfTFoW+yv+NFG13Fb2F/2tj7tuflyd8ueGxOeMWc8YLs7SX3iwJnLm2Y+/v3nZPVs2/jn2/MWStqH6XlSu4sITqlasP3Q4PLZD0x1gghJBEiEiwtKdgD937pwSi8HaIB2C+DwuLm5wcBC8XU5ODhTC6GTVEz7PMAzLsgMDAxUVFRqNhuO4oaGhurq69vZ2q9UKzRU4WVVdXV1cXFxaWnr06FGWZY8fPw4BP0IoLCwMunOKPkGiAQFXfn4+tM7AznieLy4urqioAL9jtVrLysrKysqKi4vLyspaW1t9Pl9zc3NLS4vD4YiJiYGwAwLMgwcPAgH8oxZPJs/htLW1QelaKSPeAXiM/wp8u7orJT3bNuJxMWTcLzsCaDSAh7zSsB/1uznzqHdodDTmxL7DH/4h9qNHPRUr5IalvuLXPaUrxoo+GCh8v79ouSX/VcvV3w7k/Ho471lTzhOVsY9E7Xr0kzUv7P7kk9iLZYXNzppeqazLE55cuGLDvsPhCR1qYzAkypjIBAlIlOTbgffg4GB6ejrgcfLkSSUsh18ggYZoNj4+fmhoCMommZmZVqtViXqUww48z1ut1pqaGp1Ox7Isz/N2u72ysrKlpaWysjIxMbG3t1cQBIfDUVRUVFJScvny5ZMnTwqCcPz4cUopZP8HDhzw+XwQ+UOeBpE8hJlZWVmtra1KVM8wzK1btyBshPagUn5Xq9VJSUlOp7O8vBwmcPbsWaj5g44ePnwYFOi/ATyYR1VV1ZUrV6Yy05eBv/29JYQiQhGhbSpNUurlvmG3M4TGfNKoXx4J4AGPZPdjm1sacIn9IwFdhzo38Uh5yprxmi2h+jWeW0uMKX+2X37Xc2vF6I159oLnOpPvb4icach8Tpc3pzL1uYyot6PD98XG5afmWfMbA6U6tlgzGn7+6oqNe8JOJHd29ocCBCEiE1FADC9wYExarXbPnj2EEIfDAcBDVA+u3eVyKVuTmJg4MDAgSZLH47l06ZLFYgH7hn0EHoaCvFqthoQYIgCr1ZqdnX358uVz587BKUo4qwlF8kOHDvE8HxYWRimFQ1GRkZFw1g8IANJo4ABZlq9cuaJSqaBJA2WDioqKiooKmDnkV5ACqNXq7OxsSZIGBgZycnKysrIiIiIKCgpgwhzHffHFF5Ap/KPA00meMxqN7e3tU6saXwEeEYwIIRRRKhPa0qFOuJhltbsngmjEJw37kN2P+z3SoA/3uZDdS4Ym8NCQq6W6MD9lm73paO+1D+oj/5C29oGKfc+4CpY6Cl7rz3/26sG7YtZ/O/vQzyou/j436Y/nz21Iik/Jvt57o14oUqMSPXtTbQ8/n71yw6dHjl9QdQyF/BQjjCgrkRClSJZlqNM1NjYyDFNbW3vy5EmoyQPr9vX1KeEVpfTq1asajcZmsxkMhtzc3IGBASiwQL0TiKG0tDQnJwfO2ppMJofDoVCITqdLTk4eHh4mhNjt9iNHjhgMBqPRePnyZcjlrFZrb29vb28vdOhFURweHoa6EFSNEEL9/f3JyclFRUVutxtuGwqFioqKKioqIKU0GAyVlZVGo9FoNLa2tkLvGEh4eHj4+PHjdrsdqC4YDO7btw/y1f+G0QOp5OXlxcTEKMHdHYHHGGFCKKZUJrS5XR1/IdNid48H0LBXtvvwkA9b3XK/l5gmSI8d25zYOOjqNeuOfbG6IHV78r7X9r9538HX/vPM2z+yZr3Vnz9fm/NSxMb/3PLmv+9c+dDpA78N2/fiFwc+jIzJzK8cqeim5UZaZuRvqkfCU66tXH/w6NFL6vaRkJ9iJCMakKifkNuHEnt6epYuXTo2NhYTE5OZmZmcnEwphVLM+fPneZ6HAjhCyOfz5ebmpqamRkREWK1W4PzCwkK9Xq+0LNvb2xMSEqKjo8+dO5eYmNjQ0AD1UYyxzWZLSEgoKCiQZXlgYCA1NTUlJSU7OxsqMwihlJSU2NhYMHcw7sLCwrGxMZ/PB6d7KaXFxcWJiYnJycl6vR7iDzjWp9FowC+wLKtSqZKSkhITE2/cuAF9AXDJQ0NDFy5cuHbtGpRXRVE8ffq0Uk7+hwbEFhzHwdFyecr4KvAII3Q7sCe0qV0dez7TbHeNBdCQFw36yICPWFxyn5caJ6jJQY0OYpoImB0Du/dvWPr2cx++PWfrm0/FfPTK6fcf70h7tzN7aWX6W4e2PvHxmjkffvDK6pVzVqx4YdueHVEXb91sd5UbaXEvLe4VitQTEUlFq9YeORZ2RdM2xvgpRhKiXpF4JJmTJg/W9ff3A59D2ZxOlt+VMBVCITCpqX0OWOfUGq1CD2AEdEo2rOwL1FNBClgbpNEQIlBKnU4nSJ/a4VbKRBCOKXkHJPQweTi4B2Emx3EulwtuC9DCHJROEoR4MP8vWfzfIwDlOsQ0giAkJiYeOnRICYe/+ifTCMIEk9t5PKVNbZ1RiWmGgfERn9TvkW1ebPMRkxtbPLTHQXXDtGcCd084rcHxZqPqo11b3l68+HJ8dPrJ3fH7l+5475G9G57avO75L8I+2ncs7PPImL98vHn1ho17jp1NyG+6rvHeMuObRlRskMq0bHhc1fIVJ04czutqGw/5KMa8RJ0iccvotg/u7u5+6aWXRkZGIOEmhDidTkqpy+VCCDkcDoyxx+NBCHk8HlmWIa1yuVyQIgMPQ1TFsmwgEIDaC3QsoGUCV6AK6/f75clD9dDrGx8fh6oOQE4IAUETExMgThGqNEjguB8U3uFQFFT64GwuvAXOwu/38zzvcrkUoS6XC2Psdruh4EopdbvdhBC4DuV9aPbDgTBQJqhMw5kAGNCACAaDLpcLTmVBl+H/AXxjmyoqIb2nf2LIK9vcqM9LrD7S60ImD+0Zpz3jtMclNwzYWketxoC/pEOfmF589Wr5rfzsSylH9nzy5qLFz85fsnDL4VNxNztuaL1pRdr4zJqEvKZLdcb8HleBhbluZG/qhVK1FBHT/N7yMxGH8rWtY6xfwoSVqFPALkFmwErcbrfBYHj00Ud1Ot3s2bO9Xu/3vvc9WZb//d//3eFw/PCHPxwfH581a5bFYnniiSfUavVLL71UWlr66quv3rp1a+nSpVeuXFm7dm1ycvLOnTvDw8P37Nlz6NChiIiInTt3JiQkrF+/Pisra9myZVeuXFmwYEFNTc1LL73U2dn51FNPGY3Gxx57zGg0zpgxIxgM3nXXXZTSu+66KxAIzJw502g0zp4922g0Pv30052dnS+99FJ1dfWiRYtycnLeeeedzMzMDRs2JCQk7Nq1KyIiIiwsbO/evXDeKzk5ee3atVeuXFmyZElxcfG8efNKSkpeeOEFjUbzxBNPWCyWWbNmjY+Pz5gxw+FwfOc730EIfe973/N6vT/+8Y8HBwd/+ctfdnR0PP30062trXPnzq2oqFi0aFF+fv7q1auTk5PXrVsXExOzZ8+eL7744vjx44cOHTp58uTmzZuhVn9HkrgNPMEUYYoobWjrjExI0/WPD3ilPrds9WCLlxic2Oim3Q6sGUU9XrnDOdo02t/tk3RuXKfjbjUMmUfdGkv3jZqiTQcPrNkXtSu2Mq3Df2uAVPWiknY2r3nsqmoozzR2zerMN/lv9khlKnryXMeKd6MiDuVp24ZZv4AII1K3RP2YSIIggHMFS4W6PSEEThaABUA65/f7oY8HxgcZs/JYAkTdcMQW2iRg/fAWEIMkSXBiGrrdEEN4PB4QAd02SilEA9AYhJvDxKAhBMYH9wQugVYsmCDYHFg/hG+QC0AzEJgJTz41ASJgYnDSHiYGZAPOC96FhYDFg18HmoF0AJ4G8fv9Sn3pq8CjLwF/Jj612zbe75EtLtnswSYP0TuRwUW0Y3LHCKueCHX5vJ1ub9MwX99H602kpleuMY3V9w3VWu2ncquOZWtOXLdfVImX1PRWNy3VkOuqYJ5u4prFkWebyDcFburlsk56Kqp95btnTh7K7m4bYP0sIqxIfZzsDTF+8HmQvIEvhN2EEib8VLwsZMygJRAVgpdVyvXgbmFANggIgTVAlY1MHlmELhk4V/gJ0QY0ueEKfGaqaIgq4J6UUqgvKUKlyaNzU9t3UAWCNYJoRehU7w6ilahCOfQB+qoIhYYTIDq1ZQcRydQA4s7Ay5TWtXacjL2osTr63JLJKZnc2OgmunHU4yJd46Jmgm0edLaNeNUTcusgbh6grXZaO0Ar+oK1w0y9Q7puCF3V8jndUmEfuWmmxT20REdvGuQCC5Nn8+RYXLk9gUKtWNGBIqOa33/3+OnD6bp2C+tnEOFFyoqER/h2iwmqctAOhwAKTT4tBssDy1PqskoLB4wersOmoMmDTYAQnnJ2HRqjsIl48piG0hoBXpkqGnACO/6qaMB1qmhI2ITJBy3w354EmSp66uoU0XCrL4lWVqcU+5TVwb7BZCCSAJq8g4+nSKYAPKISobUtHRExF9QWh9UlGSdEgxMbXKRrHHU7sdrBqid87SMelV3qGKAtfVQ1QlXjtHpArrDL5SP4Zj8u6qfXDOR6D83v5gq6hSIdKe6hhUaSbxGyTf4sg+eqLnirW6rqlM6eq1m9/IszYSn69l42EJKxJBBJwJIgCsBaStkZFgznDmBJirHCXitwKnuKJx9+U0q2Si1PIUnYa2XvwEynPkKliJj6YKXS4VbaIV/SGKWaO1VjpopWWgwgGpKRqaK/urq/J/qrq1M0DLRHaRnfIY+nSKbkr8DXNLeHR59XmccsTrF3XOxxYr2TaBxIO4E7xoIdY+PdzqBulHZaaIuBtttoi12qHGBLBtHNIXrNSort9FYfqbDhyl6mxsiX6ITCbvlaD8ruETP1XKaOy9WJxTpUrWKjoks+eG/PmSOx+g4dG2BkTARCBEIEUYTo1+PxwDEm5aEkIEZYLTCbMPnECSCHJg9WKFmNYjTKuwoDT72IJw/6we7DdRChMPPU62DEXxUNE5sqGt5SDFehh78neurqvipaWZ2iHFPvI08eAJnKH3DlThaPESXwBdZUwrSmqT383Hm1yWGZEHsdomEc90xQzSjROrBqlFWPudUjIZWVqoxUY6GtZlprDlYPMKU2fKufFljpTSspNvFVpmCdwV2v95Z3h27qxHwdutqNcrrRVR2+rsVFKr6izXc25ubqlTtPHY3RdeiZACsj+KY8zPE87A7EXIA3mjx5rlSela1XMnjlujT50JByXcnXYcukKccTwI8ot/p7Ir50XenE31G0NHnA5r8QjSYrqf//ovHkg3zi5HOcoJ2KuDtm/9MwQghhScIypjKh1Q1tx06nqAwO84hgHsPGUdIzSnUjtHuYqAclzTDfMSC2G6nKRDVW2m6iDUa+oU+qNpNKMy0z0dIeUq7jq3SBum5fbZevvIsp1go3tXJhFy7sIjc15JYKl7bztZ3Mufiyd9/defRQnFZlZYIyQlRChBeRJMkwdVjn1L0D165MXZo8uEgmB1xXVB7+ULmubJNy86nR0N8TofzEU5qb/6ho5eKXRCs3+apocfKo2ZdEw+eV+0xdnSJUqXHdEfLbwMuyJMtIlBBYfEVta1h4cmf3mM4S7LEJ3VaxyyJ19clqi9xulNvNcpsZt/Witl7UakAtPXJTj9TYIzUacIMB1/fgOj2q10n13Xy9lqvr4mq6xapuuaobV3WTai2p6SJ1XaRBg+raQqejSpYu33vocIpGPRgKYIQoxkRG33wFztc0pkmSiDFBmMiYchKtrus8cDg6/XJFalbV+YzqpEu1yZfqkzOakjKaEy41x2e0xGU0x15qir3UFJPeGJ3WcC61/lxqfVxGM7ymXo9KbTh3qflcRuu5jLboS20xl9pj09vj0toT0tqiE2u370pcvmp/+KkMTddQKIQRooTQb77J9msb00RRgM4swpQXqbrLfPREwtadxz5Yv//d93cve/+zdz/Yv3T1/iXvH1z6wcG3V+9/a/Xet1bvXfz+Z2+u+vTNVZ8uWrln0co9i9//DF7KxTdW7H5jxZ4FKz+dv/KzBSv3LVyxf+GKA2+8d2DR8gNvLt+/ZOWBpSs/W7fxUGLKtZ7eYY6//R8boG++3/DrGtMkgUeyjBHGiCJEHeOeW6UNsYmXD5+I//RA5KcHz332Reyu/ec+2Xtu1/7onQejdh48u/Ng5CcHznxy4MyO/Wd27D+zfd/pHfvP7Nh/ese+0zv2nd6+7/T2fae27T21be+pbQfObDt4dtuBc9v2R2/fH7NjX+yOfbGf7IvZtvv07n2RZ2Myi8uabIMOQUKIIAkJCP/D/ahvxn9vTEOSQDCimADwvCiPOrw6Q39ja3dlXWd1Q1dNk76yXltW21VR11XTqK1p1NQ0aqob1cqrqkFV06ipaZrymvxAVZO6slld2aStbOquatRVNeqrGvXVDfqK2q76Zl2X3mbpH57weAUkIipNfnHyN2z/dYxpRBYpwZQQgghGGGMiyZhhRY+fdXoYl4/3BERPQHT7RLef9wZ4b4D96ssX5O74cvsZpz804WcmfJzTx7l8vMsnunyCyyf4QzIrYFaQeFmQqSQTQcQhGXPfAP/1jGkUS5QgSjDFGEmyLE0+pUEoJlTEVMIEwddYU4rJ3xzhVgb+OwPyib/5L4woRZQKMmZ5WRARwgRTLFNJwBwrBXiR+Qb4r2f8XwuEcfD3fW6dAAAAAElFTkSuQmCC" alt="" />

当程序目录下的所有程序集中包含一个窗体类时,程序运行界面:

[转]  从 dll 程序集中动态加载窗体-LMLPHP

多个 dll 文件包含多个窗体时:

aaarticlea/png;base64,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" alt="" />

当程序目录下的所有程序集中包含多个窗体类时,程序运行界面:

[转]  从 dll 程序集中动态加载窗体-LMLPHP

05-03 23:22