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
 
 
原文地址:https://www.cnblogs.com/Leo_wl/p/2428157.html