在现实的软件中,经常可以看到一些向导(Wizard)的存在,如何给自己的应用程序实现一个向导呢?
下面给出一个使用面向对象的思想设计出来的应用程序向导框架,虽然很简单,但希望能给人帮助。

 其中有三个比较关键的类,一个是向导窗体要收集的信息封装成的类Information,一个是所有向导窗体都要继承的窗体基类frmBase,还有一个就是最关键的类,向导控制类WizardController。

有了基类frmBase,设计一个子类窗体非常简单,只需从frmBase类中派生一个新窗体,设计完用户界面之后重写其UpdateInfo()方法即可。

所有代码(VS2003版)如下,通俗易懂,不再做说明:

Information类:

 1C#设计的一个向导程序(Wizard)框架using System;
 2C#设计的一个向导程序(Wizard)框架
 3C#设计的一个向导程序(Wizard)框架namespace Wizard
 4}

frmBase类:

  1C#设计的一个向导程序(Wizard)框架using System;
  2C#设计的一个向导程序(Wizard)框架using System.Drawing;
  3C#设计的一个向导程序(Wizard)框架using System.Collections;
  4C#设计的一个向导程序(Wizard)框架using System.ComponentModel;
  5C#设计的一个向导程序(Wizard)框架using System.Windows.Forms;
  6C#设计的一个向导程序(Wizard)框架
  7C#设计的一个向导程序(Wizard)框架namespace Wizard
  8}

向导控制器WizardController类:

 1C#设计的一个向导程序(Wizard)框架using System;
 2C#设计的一个向导程序(Wizard)框架using System.Collections;
 3C#设计的一个向导程序(Wizard)框架
 4C#设计的一个向导程序(Wizard)框架namespace Wizard
 5}

第一个子窗体:

  1C#设计的一个向导程序(Wizard)框架using System;
  2C#设计的一个向导程序(Wizard)框架using System.Collections;
  3C#设计的一个向导程序(Wizard)框架using System.ComponentModel;
  4C#设计的一个向导程序(Wizard)框架using System.Drawing;
  5C#设计的一个向导程序(Wizard)框架using System.Windows.Forms;
  6C#设计的一个向导程序(Wizard)框架
  7C#设计的一个向导程序(Wizard)框架namespace Wizard
  8}

第二个子窗体:

  1C#设计的一个向导程序(Wizard)框架using System;
  2C#设计的一个向导程序(Wizard)框架using System.Collections;
  3C#设计的一个向导程序(Wizard)框架using System.ComponentModel;
  4C#设计的一个向导程序(Wizard)框架using System.Drawing;
  5C#设计的一个向导程序(Wizard)框架using System.Windows.Forms;
  6C#设计的一个向导程序(Wizard)框架
  7C#设计的一个向导程序(Wizard)框架namespace Wizard
  8}

测试Demo:

  1C#设计的一个向导程序(Wizard)框架using System;
  2C#设计的一个向导程序(Wizard)框架using System.Drawing;
  3C#设计的一个向导程序(Wizard)框架using System.Collections;
  4C#设计的一个向导程序(Wizard)框架using System.ComponentModel;
  5C#设计的一个向导程序(Wizard)框架using System.Windows.Forms;
  6C#设计的一个向导程序(Wizard)框架
  7C#设计的一个向导程序(Wizard)框架namespace Wizard
  8}

相关文章: