• Winform 应用


    Winform 应用 【假框架】

     

    实例代码下载

    学习SCSF 有写日子了,对该框架有一些了解,于是自己脑子发热写了个假SCSF 虽然不成熟,但是是对自己学习的一个总结。

    主要框架示意图(解决方案):


    概念:
          1.整个系统共用一个WorkItem(工作单元).
          2.WorkItem中有 Service集合.
          3.初始默认使用ShellForm.

    WorkItem:
          WorkItem 是自定义的静态类,在程序启动时加载默认设置,当前是代码以后会使用XML配置。
    WorkItem代码:

    WorkItem


    WorkItem 中有一个 IServices 类型的属性 Services,该属性用于保存全局的Service,
    IService 有 AddService<TService>、GetServiceByKey<TService>、Clear 三个方法:
          实现 添加、获取、清空Service操作。
    代码:

    IServices Services

    WorkItem 中还有一个 Shell 类型的ShellForm 属性:该属性是一个MDI窗口的实例,作为系统的父容器。
    设计图:


    代码:

    Shell


    Shell 中有 一个菜单控件,一个状态栏控件,将两个控件作为属性发布。
    初始加载了一个菜单项 _AppMenu ,将菜单项的Text属性布.
    然后为_AppMenu 添加一个子菜单项 _ExitMenu 同时将他的Text属性发布。
    为_ExitMenu 添加事件 _ExitAppMenu_Click;
    然后发布一个方法 StatusUpdate(string message) 在状态栏显示提示消息。

    准备工作完成,开始项目开发:首先创建一个普通的winform项目,将 Bob.Library 应用进来,
    在系统开始类 Program.cs 中添加 WorkItem的加载 代码如下:

    Program


    首先: 加载WorkItem  添加InitWorkItem() 方法,将Bob.Library 中的ShellForm 实例化。
    然后加载 Service 和 模块  
    AddServices() 添加一个 Key 为 FormService 的 IFormService 实例,该实例在MyForm中有用到。

    GetService

    AddModules() ,模拟的添加一个自定义模块,AddCustomModule(),为该模块添加独享的菜单,为该模块添加子菜单,
    为子菜单绑定事件.

    然后我们让程序开始Run 我们的 Shell   Application.Run(WorkItem.ShellForm);

    当前标签: 文件缓存

     
    Paabo 2012-03-31 09:28 阅读:437 评论:0
     
     
  • 相关阅读:
    QT 5 安装 vs2017 后,出现找不到 rc.exe 问题
    git push -f
    使用druid连接池的超时回收机制排查连接泄露问题
    git 记住密码
    postgresql c library use
    jvm内存溢出分析
    Maven中使用本地JAR包
    执行Git命令时出现各种 SSL certificate problem 的解决办法
    transformer模型计算图
    jieba分词单例模式及linux权限不够情况下tmp_dir自定义
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2428157.html
Copyright © 2020-2023  润新知