软件界面图片提供者策略 | MiniFramework蝇量框架 | Winform框架|C/S开发框架

软件界面图片提供者策略 - MiniFramework蝇量框架 - Winform框架
目录
一、前言
MiniFramework蝇量框架支持软件界面换肤功能,包括界面样式和图片,支持以下两种换肤方式:
- DevExpress 皮肤
- 软件界面的图片替换
DevExpress 皮肤
在主窗体的Toolbar上,添加一个 SkinRibbonGallery 组件,可以切换DevExpress 17种常用皮肤。

DevExpress 17种常用皮肤

在SkinRibbonGallery组件的GalleryItemClick事件内实现所有软件界面全局换皮肤功能,参考代码:
C# 全选
private void skinRibbonGallery_GalleryItemClick(object sender, GalleryItemClickEventArgs e)
{
string skin = e.Item.Tag.ToString();
//所有软件界面全局换皮肤功能
this.SetSkin(skin);
//保存DevExpress皮肤名称
UserConfig.Current.SkinName = skin;
UserConfig.Save();
}软件界面的图片替换
当用户购买MiniFramework 蝇量框架软件产品,要开发属于自己的软件产品,因此需要替换掉 MiniFramework 相关所有图片、图标等内容,以及针对VS解决方案改名。
VS解决方案改名工具:
http://www.csframework.com/archive/1/arc-1-20180527-2397.htm
二、UIProvider - 软件界面图片提供者
通过图片提供者策略,即可实现一套软件支持不同的客户使用,不需要修改程序代码,比如替换图片、图标、公司名称、程序名称等信息。
UIProvider 图片提供者与 IUIProvider 策略接口的逻辑关系

三、IUIProvider接口
软件界面图片、图标替换策略接口(IUIProvider接口)。
C# 全选
/// <summary>
/// 软件界面图片提供者接口
/// </summary>
public interface IUIProvider
{
/// <summary>
/// 程序Logo图标
/// </summary>
Icon Logo { get; }
/// <summary>
/// 登录界面的背景图片
/// </summary>
Image LoginBackgroundImage { get; }
/// <summary>
/// 关于我们左侧的背景图片
/// </summary>
Image AboutFormLeftImage { get; }
/// <summary>
/// 技术支持二维码(作者二维码)
/// </summary>
Image BarcodeImage { get; }
/// <summary>
/// 主窗体工具条右侧的背景图片(大图)
/// </summary>
Image MainFormToolbarImageLarge { get; }
/// <summary>
/// 主窗体工具条右侧的背景图片(小图)
/// </summary>
Image MainFormToolbarImageSmall { get; }
/// <summary>
/// HOME首页的Banner背景图
/// </summary>
Image HomeBackgroundImage { get; }
/// <summary>
/// 程序名称
/// </summary>
string ProgramName { get; }
/// <summary>
/// 程序版本号
/// </summary>
string Version { get; }
}四、MiniFrameworkUI 类 - 蝇量框架默认图片提供者
蝇量框架默认图片提供者。
C# 全选
/// <summary>
/// MiniFramework 蝇量框架默认图片提供者
/// </summary>
public class MiniFrameworkUI : UIProviderBase
{
public MiniFrameworkUI() { bulk = @"images\default\"; }
public override string ProgramName { get { return Globals.DEF_NAME; } }
public override string Version { get { return Globals.DEF_VERSION; } }
}五、QifanUI 类 - 客户案例
客户案例:起帆物流TMS系统界面图片提供者。
C# 全选
/// <summary>
/// 起帆物流界面图片提供者
/// </summary>
public class QifanUI : UIProviderBase
{
public QifanUI() { bulk = @"images\qifan\"; }
public override string ProgramName { get { return Globals.DEF_NAME1; } }
public override string Version { get { return Globals.DEF_VERSION1; } }
}六、初始化界面图片提供者
在 Program.cs 内初始化图片提供者:
C# 全选
//初始化界面图片提供者
UIProvider.Current = UIProvider.GetProvider(UserConfig.Current.UIProviderName);七、UIProviderName - 图片提供者名称
CSFramework.Mini.Library.MiniFrameworkUI
蝇量框架默认图片策略。
CSFramework.Mini.Library.QifanUI
客户案例 - 起帆物流TMS系统图片提供者。
八、图片目录
图片提供者策略对应的图片目录,在 \Debug\images\ 根目录下。

default:蝇量框架的图片目录。
qifan:客户案例:起帆物流TMS系统的图片目录。
\CSFramework.MiniFramework\source\Debug\images\default

\CSFramework.MiniFramework\source\Debug\images\qifan

九、效果展示
登录界面


主界面(HOME首页)


关于我们



参考文档:
DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架
ucButtonFunction 组件详解|MiniFramework蝇量框架|Winform框架|C/S开发框架
角色管理/分配权限 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
用户管理 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发基础资料报表(单表) | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发数据访问层DAL | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发数据查询窗体 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
新增基础资料单表窗体 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
模块主窗体添加功能按钮 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
新增业务模块 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体模块容器(frmModuleContainer)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体状态栏(StatusBar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体导航菜单NavbarControl 介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体工具栏按钮(Toolbar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体体系架构 / 逻辑架构 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
软件主窗体主界面设计 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
DataBinder类详解 | Winform MiniFramework蝇量框架|C/S开发框架
ucButtonFunction 组件详解|MiniFramework蝇量框架|Winform框架|C/S开发框架
角色管理/分配权限 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
用户管理 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发基础资料报表(单表) | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发数据访问层DAL | MiniFramework蝇量框架 | Winform框架|C/S开发框架
开发数据查询窗体 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
新增基础资料单表窗体 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
模块主窗体添加功能按钮 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
新增业务模块 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体模块容器(frmModuleContainer)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体状态栏(StatusBar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体导航菜单NavbarControl 介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体工具栏按钮(Toolbar)介绍 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
主窗体体系架构 / 逻辑架构 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
软件主窗体主界面设计 | MiniFramework蝇量框架 | Winform框架|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
