c# 项目带皮肤一起打包发布解决办法

前提:c#语言   winform应用程序  皮肤为IrisSkin2

目标:在打包发布独立应用 程序时,将皮肤也一起打包发布,实现程序在其它机子安装时,皮肤效果依然存在。

解决方案:

1.大部分IrisSkin2第三方皮肤控件的应用办法都是:

在引用---添加引用-----IrisSkin2.dll,将IrisSkin2.dll文件和skin文件(里面都是.ssk的皮肤文件)都放到bin下面的debug文件里,然后在主窗口添加代码:

Sunisoft.IrisSkin.SkinEngine se = null;(这句代码添加在主窗口程序的类下面,暨不添加在任何方法中)

(以下几句添加在主窗口的初始化方法中):

se = new Sunisoft.IrisSkin.SkinEngine();
se.SkinFile = "skin/Sports/SportsGreen.ssk"; // 指定皮肤文件

se.TitleFont = new System.Drawing.Font("微软雅黑", 10F);// 指定标题
se.SkinAllForm = true; // 这句话是用来设置整个系统下所有窗体都采用这个皮肤

请注意:按照以上方法做了之后,皮肤文件已经可以在本机调试以及安装时实现,但是发布的独立安装程序中确实木有的。

2.按照如下方法,则可以实现在打包发布的独立程序中也可以实现皮肤。

首先:在引用---添加引用-----IrisSkin2.dll,将IrisSkin2.dll文件和skin文件(里面都是.ssk的皮肤文件)都放到bin下面的debug文件里

然后:在工具箱中右键添加选项卡,将IrisSkin2.dll添加进去,则在工具箱中多了一个SkinEngine选项;

下一步:将工具箱中的SkinEngine选项拖拽到你程序的主窗口中去,在你程序的主窗口下方便会出现一个SkinEngine1的图标;

最后一步:右键SkinEngine1图标设置属性,在属性中找到SkinFile,然后选中你需要的.ssk文件。

此时,如果你只需要单一皮肤的话已经OK了!

3.如果你想要你的皮肤多几种,可以选择的话,那么再完成上面步骤后(SkinFile中多添加几个.ssk文件),再添加以下代码:

this.skinEngine1.ApplyAdditionalBuiltInSkins(index);//将多个皮肤添加到SkinEngine的一个集合属性(AddtionalBuiltInSkins)里,(index,代表皮肤集合里的索引,从0开始编号)

你已经实现动态换肤了!

 
 
分类: c#

c# 项目带皮肤一起打包发布解决办法的更多相关文章

  1. 新版本ADT创建Android项目无法自动生成R文件解决办法

    本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时 ...

  2. QT5.4 计算器程序 打包&发布,解决dll的最新解决方案

    QT写界面还是很不错,就是打包会比较麻烦,折腾了一天总算是打包完成了. QT软件的打包发布一个难点是必备dll文件的识别,现在高版本QT自带了一个windeployqt工具,直接会把需要的dll生成一 ...

  3. QT5.4 计算器程序 打包&发布,解决dll的最新解决方案(图文并茂,很清楚)

    QT写界面还是很不错,就是打包会比较麻烦,折腾了一天总算是打包完成了. QT软件的打包发布一个难点是必备dll文件的识别,现在高版本QT自带了一个windeployqt工具,直接会把需要的dll生成一 ...

  4. 打开局域网项目,显示“项目位置不受信任”的解决办法(VS2008)

    弄了几天,网上搜了个遍,愣是解决不了,绝望的时候闭着眼睛胡搞,居然解决了,哈哈.... 开发环境:visual studio 2008 项目位置:局域网其他电脑内 出现问题: 1.弹出“”的对话框,如 ...

  5. Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法

    错误提示: 在我们到导入从网络下载的项目时,经常会出现如下问题(选择的项目变灰,并且提示要选择至少一个项目): 错误原因: 出现这样的错误主要是因为你的Eclipse已经存在了和上图中New Proj ...

  6. MyEclipse2015 javaweb项目从svn检出后变成java项目,clean之后不能编译,解决办法是

     javaweb项目从svn检出后变成java项目,解决办法是:1.项目右键–properties–Project Facets,勾选上Dynamic Web Module .Java 两个复选框.点 ...

  7. Eclipse中项目全部报错----项目全部打红叉的解决办法

    今天遇到一个超级郁闷的事情,Eclipse新建的项目全部都打有红叉,我起初以为自 己可能是因为这两天一直在配置NDK开发环境方面的东西,是不是一不小心把那个地方给配置了,然后新建项目时项目都会出现红叉 ...

  8. 导入项目@Override报错原因及解决办法

    从别人那里拷贝来的项目,在人家的环境里没有错误,可是导入到自己本地工程之后报错,删除掉@Override注解后就不报错,导致该原因的是本地工程的JDK版本未更新. 解决办法:调整JDK版本 如此即可解 ...

  9. IDEA 导入 Maven 项目后报错 cannot resolve symbol 解决办法

    这两天整理项目,导入新的 Maven 项目时出现 cannot resolve symbol ,即使 rebuild 也没有用.解决办法如下: 1. File -> Close Project: ...

随机推荐

  1. asp.net webform easyui

    建议使用   html 页面 和 一般处理程序,一般处理程序 继承 IRequiresSessionState  ,才能用 session .

  2. 利用EntityFramework获得双色球数据库

    原文 利用EntityFramework获得双色球数据库 双色球想必大家都很熟悉了,尽管屡买屡不中,但还是会买.以前就想过利用双色球的走势图得到双色球的数据库,至于得到数据库干什么倒没想过,不过对以往 ...

  3. 微信公众平台消息接口开发-封装weixin.class.php

    原文:微信公众平台消息接口开发-封装weixin.class.php 一.封装weixin.class.php 由于微信公众平台的通信使用的是特定格式的XML数据,每次接受和回复都要去做一大堆的数据处 ...

  4. ASP.NET 5 Identity

    ASP.NET 5 Identity   “跌倒了”指的是这一篇博文:爱与恨的抉择:ASP.NET 5+EntityFramework 7 如果想了解 ASP.NET Identity 的“历史”及“ ...

  5. javascript4

    javascript使用Unicode字符集编写的.javaScript是区分大小写的语言. 标示符就是一个名字.在javascript中用标示符来对变量和函数进行命名或者用做javascript代码 ...

  6. MAC中在eclipse luna上搭建移动平台自动化测试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录

    这几天因为原来在用的hp laptop的电池坏掉了,机器一不小心就断电,所以只能花时间在自己的macbook pro上重新搭建整套环境,大家都知道搭建环境是个很琐碎需要耐心的事情,特别是当你搭建的安卓 ...

  7. AngularJS + Node.js + MongoDB开发

    AngularJS + Node.js + MongoDB开发的基于位置的通讯录(by vczero) 一.闲扯 有一天班长说了,同学们希望我开发一个可以共享位置的通讯录,于是自己简单设计了下功能.包 ...

  8. android:由URL载入中ImageView

    两种方法: 方法一: Bitmap bimage= getBitmapFromURL(bannerpath); image.setImageBitmap(bimage); public static ...

  9. 使用Windows2003创建FTP服务器 - 进阶者系列 - 学习者系列文章

    现在有不少的FTP建设软件,比如Server-U软件.不过本文只介绍使用Windows2003来创建FTP服务器. 1.  打开控制面板的添加删除程序. 2.  打开 添加删除Windows组件 3. ...

  10. win7 64位的apache2.4.9+php5.5+mysql5.6的安装

    Win7 下64位的apache2.4.9+php5.5+mysql5.6.19的安装 1.首先下载文件 httpd-2.4.9-win64-VC11.zip(http://www.apachelou ...