c# 项目带皮肤一起打包发布解决办法
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# 项目带皮肤一起打包发布解决办法的更多相关文章
- 新版本ADT创建Android项目无法自动生成R文件解决办法
本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时 ...
- QT5.4 计算器程序 打包&发布,解决dll的最新解决方案
QT写界面还是很不错,就是打包会比较麻烦,折腾了一天总算是打包完成了. QT软件的打包发布一个难点是必备dll文件的识别,现在高版本QT自带了一个windeployqt工具,直接会把需要的dll生成一 ...
- QT5.4 计算器程序 打包&发布,解决dll的最新解决方案(图文并茂,很清楚)
QT写界面还是很不错,就是打包会比较麻烦,折腾了一天总算是打包完成了. QT软件的打包发布一个难点是必备dll文件的识别,现在高版本QT自带了一个windeployqt工具,直接会把需要的dll生成一 ...
- 打开局域网项目,显示“项目位置不受信任”的解决办法(VS2008)
弄了几天,网上搜了个遍,愣是解决不了,绝望的时候闭着眼睛胡搞,居然解决了,哈哈.... 开发环境:visual studio 2008 项目位置:局域网其他电脑内 出现问题: 1.弹出“”的对话框,如 ...
- Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法
错误提示: 在我们到导入从网络下载的项目时,经常会出现如下问题(选择的项目变灰,并且提示要选择至少一个项目): 错误原因: 出现这样的错误主要是因为你的Eclipse已经存在了和上图中New Proj ...
- MyEclipse2015 javaweb项目从svn检出后变成java项目,clean之后不能编译,解决办法是
javaweb项目从svn检出后变成java项目,解决办法是:1.项目右键–properties–Project Facets,勾选上Dynamic Web Module .Java 两个复选框.点 ...
- Eclipse中项目全部报错----项目全部打红叉的解决办法
今天遇到一个超级郁闷的事情,Eclipse新建的项目全部都打有红叉,我起初以为自 己可能是因为这两天一直在配置NDK开发环境方面的东西,是不是一不小心把那个地方给配置了,然后新建项目时项目都会出现红叉 ...
- 导入项目@Override报错原因及解决办法
从别人那里拷贝来的项目,在人家的环境里没有错误,可是导入到自己本地工程之后报错,删除掉@Override注解后就不报错,导致该原因的是本地工程的JDK版本未更新. 解决办法:调整JDK版本 如此即可解 ...
- IDEA 导入 Maven 项目后报错 cannot resolve symbol 解决办法
这两天整理项目,导入新的 Maven 项目时出现 cannot resolve symbol ,即使 rebuild 也没有用.解决办法如下: 1. File -> Close Project: ...
随机推荐
- 步步详解近期大火的density_peak超赞聚类
近期忙着在公司捣腾基于SOA的应急框架,还是前两周才在微博上看见了density_peak,被圈内好些人转载. 由于这个算法的名字起的实在惹眼,都没好意思怎么把这个算法名字翻译成中文,当然更惹眼的是, ...
- OpenVPN多实例优化的思考过程
1.sss 当构建组件之间的关系已经错综复杂到接近于一张全然图的时候,就要换一个思路了,或者你须要重构整个系统,或者你将又一次实现一个. 2.TAP网卡和TUN网卡 2.1.TAP的优势 1.方便组网 ...
- java23种设计模式详解(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- 【Heritrix基础教程2】Heritrix基本介绍
1.版本号说明 (1)最新的版本号:3.3.0 (2)最新release版本号:3.2.0 (3)重要历史版本号:1.14.4 3.1.0及之前的版本号:http://sourceforge.net/ ...
- php中echo(),print(),print_r()用法
原文 php中echo(),print(),print_r()用法 从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但p ...
- JAVA 代码生成。SimpleCaptcha
去官方网站下载Jar包: http://simplecaptcha.sourceforge.net/ Javadocs: http://simplecaptcha.sourceforge.net/ja ...
- DirectX:函数连接两个随机filter
函数连接两个随机filter HRESULT ConnectFilters( IBaseFilter *pSrc, IBaseFilter *pDest ) { IPin *pIn = 0; IPin ...
- 打印Ibatis最后,SQL声明
做项目时,满足这一需求.我们希望最终打印出在数据库运行SQL声明,这些都普遍遇到了一些一般性问题.我会去Appfuse,结果这次没有成功.它是有相关的配置,可是好像没实用.我也就没有深查下去.我想这种 ...
- The operator == is undefined for the argument type(s) int, null
package cn.edu.shu.web.test; public class TestInteger { public static void main(String[] args) { /** ...
- Juqery遮罩插件
Juqery遮罩插件,想罩哪就罩哪! 一 前言 在项目开发时发现没有一个用起来 爽一点的遮罩插件,看起来觉得不难 好吧那就利用空闲时间,自己折腾一个吧,也好把jquery再温习一下, 需要的功能 ...