科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道摆摆控件 实现多功能的表单 4

摆摆控件 实现多功能的表单 4

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

   四、关于Justin.UILibrary.dll 最后我们再简单说一下Justin.UILibrary.dll,有了它,使得制作表单的大部分工作变成了摆控件,它把报单里可以抽出来的东西尽量都封装了起来,使得大部分代码工作都得到了重用

作者:中国IT实验室 来源:中国IT实验室 2007年9月10日

关键字: 控件 编程

  • 评论
  • 分享微博
  • 分享邮件
  

四、关于Justin.UILibrary.dll
最后我们再简单说一下Justin.UILibrary.dll,有了它,使得制作表单的大部分工作变成了摆控件,它把报单里可以抽出来的东西尽量都封装了起来,使得大部分代码工作都得到了重用。这里简单说一下最核心的UI.cs类,它是表单控件的基类,如上面的步骤4所示,继承它之后,只需要附加很少的代码,即可以完成表单的后台代码工作。当然,这里提供的都是最基本的功能,如果用户自己有任何其他字定义功能,都可以自己在继承的基础上再进行扩展。

其中比较关键的几个地方是:
1.ExecActionEvent()方法
这个方法使用委托的机制,将最终按钮的功能如何实现抛出来由用户自己去实现,WHY?因为鬼才知道用户会做什么,这是封装控制不了的因数,所以要抛出去。
2.InitControl(UIType type)方法
这里相当于模板方法模式的应用,内部在不同状态下调用的三个virtual方法,给了SubCalss一个插入功能的机会,即,可以分别在提交、浏览、修改的状态下初始化界面时,加入自定义的功能。如步骤4中所做的,在提交的时候,将按钮的标题改为“提交”,在修改的时候,将按钮的标题改成“保存”,当然,用户自己还可以做很多别的什么事情,这个灵活性是封装的基类不去关心的,基类只提供“工作机会”,至于工作的怎么样,自己看着办吧。
如下图所示:

五、代码下载
JustinDemo: http://www.cnblogs.com/Files/justinw/JustinDemo.rar
Justin.UILibrary: http://www.cnblogs.com/Files/justinw/Justin.UILibrary.rar

虽然这里还只是演示代码,部分地方还有待完善,但是这篇文章主要想说的是如何通过封装来重用和简化代码工作,重要的是其中的原理和思想,还希望各位朋友看过代码后多提宝贵意见。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章