软件界面图片提供者策略 - MiniFramework蝇量框架 - Winform框架


软件主窗体主界面设计 - MiniFramework蝇量框架 - Winform框架

软件界面图片提供者策略 - MiniFramework蝇量框架 - Winform框架

一、前言

MiniFramework 蝇量框架支持软件界面换肤功能,包括界面样式和图片,支持以下两种换肤方式:

  • DevExpress 皮肤
  • 软件界面的图片替换

DevExpress 皮肤

在主窗体的Toolbar上,添加一个 SkinRibbonGallery 组件,可以切换DevExpress 17种常用皮肤。

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

DevExpress 17种常用皮肤

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

 

在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 策略接口的逻辑关系

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

三、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\ 根目录下。

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

default蝇量框架的图片目录。

qifan客户案例:起帆物流TMS系统的图片目录。

 

\CSFramework.MiniFramework\source\Debug\images\default

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

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

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

 

九、效果展示

登录界面

登录界面设计 - MiniFramework蝇量框架 - Winform框架

TMS-物流运输管理系统(蝇量框架)

主界面(HOME首页)

软件主窗体主界面设计 - MiniFramework蝇量框架 - Winform框架

 

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

关于我们

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

 

开发软件的皮肤样式策略 - MiniFramework蝇量框架 - Winform框架

 

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
评论列表

发表评论

评论内容
昵称:
关联文章

软件界面图片提供策略 - MiniFramework框架 - Winform框架
支持换肤 - 界面图片切换 - MiniFramework框架 - Winform框架
登录界面设计 - MiniFramework框架 - Winform框架
软件主窗体主界面设计 - MiniFramework框架 - Winform框架
DataBinder类详解 - Winform MiniFramework框架
新增业务模块 - MiniFramework框架 - Winform框架
关于我们 - MiniFramework框架 - Winform框架
MiniFramework框架 Visual Studio解决方案
修改密码 - MiniFramework框架 - Winform框架
模块主窗体添加功能按钮 - MiniFramework框架 - Winform框架
集成自动升级程序 - MiniFramework框架 - Winform框架
客户端自动升级 - MiniFramework框架 - Winform框架
开发数据查询窗体 - MiniFramework框架 - Winform框架
ucButtonFunction 组件详解-MiniFramework框架-Winform框架
MiniFramework开发框架新手指南开发指南
角色管理/分配权限 - MiniFramework框架 - Winform框架
系统参数配置 - MiniFramework框架 - Winform框架
DevExpress设置主题切换界面皮肤样式 - SetSkinStyle方法 - Winform 框架
用户管理 - MiniFramework框架 - Winform框架
主窗体体系架构 / 逻辑架构 - MiniFramework框架 - Winform框架