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: ...
随机推荐
- [Unity3D]Unity3D游戏开发之Unity与Android交互调用研究
各位朋友,大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是blog.csdn.net/qinyuanpei.在前一篇文章中,我们研究了Android平台上Unity3D的手势操作并在之前的基础 ...
- IIS7 URL Rewrite 用法实例
原文:IIS7 URL Rewrite 用法实例 很友好的URL地址,使访问的人很容易记住.要求你的用户记住" http://www.contoso.com/article.aspx?id= ...
- JS正则替换字符串
1.只替换第一次出现的字符: text.replace(/javascript/i, "JavaScript"); //正则用//来将正则包起来 i表示区分大小写 2.全局替换: ...
- Spring之SpringMVC的MethodNameResolver(源码)分析
前言 在介绍SpringMVC 的Controller的具体实现中,我们讲到了MultiActionController.在获取处理请求对于的方法的时候我们用到了下面的代码,来自于MultiActi ...
- Thrift学习
Thrift学习 一:thrift介绍 Thrift是facebook开发的用来处理各不同系统之间数据通讯的rpc服务框架,后来成为apche的开源项目.thrift支持多种程序语言,包括Java,P ...
- 成C++应用程序世界------异常处理
一. 概述 C++自身有着很强的纠错能力,发展到现在,已经建立了比較完好的异常处理机制.C++的异常情况无非两种,一种是语法错误,即程序中出现了错误的语句,函数,结构和类,致使编译程序无法进行.还有一 ...
- Mysql高级之索引
原文:Mysql高级之索引 索引:是针对数据所建立的目录. 作用: 可以加快查询速度 负面影响: 降低了增删改的速度. 索引的创建原则: 1:不要过度索引 2:在where条件最频繁的列上加.在重复度 ...
- Windows 7上使用HP QC的问题
C(Quantity Center)是一款不错的测试管理工具,最近把公司的操作系统从Windows XP升级到Windows 7之后,发现登录到QC Server的Addin页面,很多客户端组件不能正 ...
- NET Framework 4.5新特性 数据库的连接加密保护。
NET Framework 4.5新特性 (一) 数据库的连接加密保护. NET Framework 4.5 ado.net数据库连接支持使用SecureString内存流方式保密文本. 一旦使用这 ...
- Orchard中的Host和Tenant
Orchard的多个子站点特性 Orchard中可以支持多个子站点.当你运行Orchard的时候,通常一个网站运行在一个应用程序域中.这也是一般ASP.NET应用程序区分两个网站的方法,也就是说两 ...