C# Winform中窗体的美化—— 用IrisSkin轻松实现换肤功能

2023-11-18

今天经前辈提醒才知道winform窗体还有美化工具,呵呵,不得不说,孤陋寡闻了。下面总结一下irisskin2的使用步骤和遇到的问题及解决办法。
1、网址: http://www.pc6.com/softview/SoftView_70918.html#download
皮肤控件换肤素材包,IrisSkin2.dll皮肤素材资源下载,这是一款与编程开发相关的素材资源,主要是提供一些采用IrisSkin2.dll控件进行软件窗口换肤的素材文件,包括一些GIF图像资源、一些ssk文件,压缩包内一共有22种皮肤素材,使用说明:把控件拖到你的form上,只需一行代码,即可实现整个form包括其所有控件的皮肤的更换, 
总共有几十套皮肤供使用,非常方便。省去你设计开发软件皮肤系统的时间和精力。 
全部源代码就一行: skinEngine1.SkinFile = "WaveColor1.ssk"; 
其中ssk文件为皮肤文件。 
如果上面的不行,就设置skinEngine1控件的SkinFile属性,选择相应的皮肤,记得把前面的路径去掉,只要名字即可 
如SkinFile=G:\360Downloads\皮肤控件\皮肤\MP10\MP10.ssk,要将前面部分删掉,只留皮肤名称,即让SkinFile=MP10.ssk;
 
一.添加控件IrisSkin2.dll。
 
方法:
        1.右键“工具箱”。“添加选项卡”,取名“皮肤”。
        2.右键“皮肤”,“选择项”弹出对话框
        3.点击“浏览“,找到IrisSkin2.dll,,next,next,确定。
        4.在皮肤里会出现。
        5.把SkinEngine拖到设计界面,会出现在下面。
 
     二,把皮肤文件中以ssk为后缀名的文件(如OneGreen.ssk)放在bin文件夹的debug文件夹里。
 
     三,添加代码。
           双击界面,进入代码,
        private void Form1_Load(object sender, EventArgs e)
        {
            skinEngine1.SkinFile = Application.StartupPath + @"\MP10.ssk";
 
        }
2、遇到的问题
(1)网址: http://www.cnblogs.com/xuhongfei/archive/2013/03/02/2939710.html
出现错误:类型 Universe 无法解析程序集: System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a。 引起这个问题的原因是新建项目时框架我选的是.Net4.0,然而.Net4.0在安装时包含两种,好像默认的是.Net4.0 Client Profile,在这下面添加时就会报上面的错误。

    解决方法是:在解决方案资源管理器中的工程项上点击右键,选择属性,把FrameWork的框架版本改为.Net4即可。

(2)网址:http://zhidao.baidu.com/link?url=YOvAeHLkOgmE-XKa7YnVFs4qE4a--5bsCKxweIDuYgHwU-TygCGKm1hePlWTDrQ4X9eIjOZfLaqVgWsp2eUgF_

 

 C# 错误!!容量超出了最大容量。参数名: capacity 

解决办法:第二个参数 “提示信息” 长度太长了,2个字应该就可以, 该成 "提示"
3、最后效果图
在添加选项卡时,工具箱里只有常规一个选项卡,右击常规->添加选项卡,然后输入选项卡的名字,最后在右击常规选项卡,勾住全部显示这个选项,刚刚添加的选项卡就能看见了。

第一次使用irisskin2美化C#窗体
最后效果图
第一次使用irisskin2美化C#窗体

第一次使用irisskin2美化C#窗体

弹框这出现的错误上边有,改成提示两个字就好了。
第一次使用irisskin2美化C#窗体
如果想把这个样式应用到所有窗体中,就在属性中把SkinAllForm设置成true,不想就是False。还有把SkinFile选择样式文件的路径,然后才能显示样式。

第一次使用irisskin2美化C#窗体
skinEngine1.SkinFile = Application.StartupPath + @"\DiamondBlue.ssk";
 skinEngine1.SkinFile = " DiamondBlue.ssk "; //样式文件的文件名
在窗体加载的方法中写入这两行代码。

出处:http://blog.sina.com.cn/s/blog_e75e0d9d0102wxk6.html
=====================================================================================================

IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现WinForm窗体换肤然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在VS2010中使用它需要将自己的项目框架设置为.NET Framework 4.0,还有另一种方法就是使用IrisSkin4.dll,他的使用方法和IrisSkin2.dll基本是完全一样的

一、首先在网上下载 IrisSkin4.dll (已与皮肤一起打包),将IrisSkin4.dll与Skins(皮肤)一起拷贝到项目的\bin\Debug文件夹下

二、在程序的资源管理器中的【引用】上单击右键,选择【添加引用】,找到刚才复制过来的IrisSkin4.dll文件,点击【确定】

三、【工具】——>【选择工具箱项——>【.NET Framework组件】——>【浏览】——>找到IrisSkin4.dll——>点击【确定】,SkinEngine控件加入到工具箱

四、把控件添加进程序的主窗体,并在主窗体的构造函数中编辑如下一行代码选择皮肤,即可完成渲染

skinEngine1.SkinFile = System.Environment.CurrentDirectory + "\\Skins\\所选皮肤名(后缀为.ssk)";  //选择皮肤文件

使用IrisSkin4.dll换肤的效果是有限的,有时它的渲染效果反而令我们抓狂(比如我用了一个SportsBlue皮肤,然后发现虽然这个皮肤的样式我很喜欢,但在它的渲染下窗体的button实在是很low),这时我们想要自定义自己不满意的控件而不需要皮肤对这些控件进行渲染,只需加上如下一行代码:

skinEngine1.DisableTag = 9999;      //设置不需要被渲染的控件Tag值为9999

然后把不需要被渲染的控件Tag值属性设置为9999,即可显示该控件的自定义样式

 

出处:http://www.tuicool.com/articles/Q3euaa

=====================================================================================================

    最近做一些C#数据库开发项目,基本窗体程序做好之后,发现界面较为丑陋,然而,自己又不善于美工,所以想到了求助于第三方帮忙。网上有较多的是利用IrisSkin2.dll文件来开发,然后,本人按照一些解决方案做下来,发现该链接库并不会适合VS2010平台开发的Winform,故此,寻找替代方案,然后,发现了IrisSkin4.dll比较合适的完成了美化工作。综合别人的做法,本人做法如下:

下载地址:http://www.7edown.com/soft/down/soft_39263.html

    1. 将IrisSkin4.dll动态文件导入当前项目引用中。具体操作为:解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin4.dll文件,然后加入即可。建议,最好把IrisSkin4.dll文件放在当前项目\bin\Debug文件中。

   2. 然后把IrisSkin4.dll文件添加到VS2010的工具箱:视图->工具箱->右键->选择项->浏览找到IrisSkin4.dll文件(文件最好放在当前项目\bin\Debug文件中)按确定,控件就添加到工具箱中了,然后把工具箱中新添加的 SkinEngine控件拖到当前项目中。

  3. 把皮肤目录中的.ssk文件复制到当前项目\bin\Debug文件中,ssk文件可以根据需求自己选择.

  4. 再在项目中调用.ssk皮肤文件。例:

   在自己的主程序的MainForm窗口对应的 MainForm.Designer.cs中,先声明private Sunisoft.IrisSkin.SkinEngine skinEngine1;然后是在InitializeComponent()  (Windows 窗体设计器生成的代码)定义                                 

?
this .skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)( this )));  

最后,在MainForm.cs文件中构造函数定义:

?
this .skinEngine1.SkinFile = Application.StartupPath + "//DiamondBlue.ssk" ;

同时,为了保证对其他的窗体也产生相应的效果,则在MainForm对应的构造函数中,加入如下代码:

?
1
    Sunisoft.IrisSkin.SkinEngine se = null ;
    se =
new Sunisoft.IrisSkin.SkinEngine();  
   se.SkinAllForm =
true ;

  

 

出处:http://www.cnblogs.com/zhaoxiaoming/archive/2012/07/25/Form_Beautify.html

=====================================================================================================

外,由于皮肤使用了很多的ssk文件以及dll文件,有时不想要这么多的文件,只是想生成一个exe的应用程序,使用可以把ssk和dll文件整合进exe文件中,具体的可以参考我的另外一篇文章:皮肤和DLL和图片等项目文件完全整合到exe中

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# Winform中窗体的美化—— 用IrisSkin轻松实现换肤功能 的相关文章

随机推荐

  • python树莓派 是什么_想用什么域名就用什么域名,用树莓派搭建个局域网DNS服务器。...

    局域网内的设备越来越多 用ip访问就比较麻烦了 另一方面我们用的公网的dns服务器可能会被投毒 这时候搭建一个本地的DNS服务器 想用什么域名就用什么域名 岂不是很舒服 拿起我们的树莓派 说干就干 准备材料 1 树莓派 这里是安装了64位操
  • chisel的命名高级用法

    从历史上看 Chisel 在可靠地捕获信号名称方面遇到了麻烦 造成这种情况的原因是 1 主要依靠反射来查找名称 2 使用 chiselName行为不可靠的宏 Chisel 3 4 引入了一个自定义的 Scala 编译器插件 它可以在声明信号
  • 关于ORA-12170 tns 连接超时等一系列Oracle无法正常登入问题

    文章转载来自于 https blog csdn net qq 40707682 article details 81667918 由于该篇文章成功解决了我的问题 所以记录一下 方便后面的小伙伴们学习 下面首先说说如何在出现ORA 12170
  • UML图示

    近些天学习设计 由于没有具体项目 原有项目也没有什么设计的概念 只是看相关的书籍 所以着实有些抓狂 然最抓狂的是对于UML那些表示法的生疏 虽然看过N 1遍相关的表示 但由于之前看过的设计图稿和自己画的东东本来就不多 因此出来类图 对象图等
  • 如何划分子网(例题讲解)

    44 12分 设某ISP拥有一个网络地址块201 123 16 0 21 现在该ISP要为A B C D四个组织分配IP地址 其需要的地址数量分别为985 486 246以及211 而且要求将低地址段的 IP 地址分配给 IP 地址需求量大
  • CSS 媒体查询 IPHONE PC 常用尺寸总结

    iPhone 5 SE media only screen and device width 320px and device height 568px and webkit device pixel ratio 2 height calc
  • Matlab 多核 多个CPU 并行运算

    Matlab并行运算 目前 新购置的电脑大部分都是多核的了 使用Matlab进行大量计算时如何有效利用多核呢 Matlab目前版本已经比较好的支持多核并行运算了 是用的Matlab版本是R2007b 电脑是双核的 先简单试试 gt gt m
  • 在 Python 中将字符串转换为数组

    使用 str split 方法将字符串转换为数组 例如 array string split str split 方法将在每次出现提供的分隔符时将字符串拆分为一个列表 string www jiyik com 将逗号分隔的字符串转换为数组
  • 攻防世界(easy-apk)

    下载链接如下所示 https adworld xctf org cn media task attachments 989ca07c3f90426fa05406e4369901ff apk 使用JEB打开apk 如下所示 可知获得输入后进行
  • 嵌入式开发——文件系统部署rz、sz命令

    1 rz sz命令源码下载 下载网址 https ohse de uwe software lrzsz html 2 源码编译 tar zxvf lrzsz 0 12 20 tar gz cd lrzsz 0 12 20 configure
  • 小滴课堂-新版JavaWeb零基础到实战专题课程-19

    目录 前言 第十九章 javaweb项目实战之小滴课堂开发者论坛数据库设计 第1集 小滴课堂开发者论坛数据库ER关系图设计 第2集 小滴课堂开发者论坛Mysql相关表录入 前言 小滴课堂 旨在让编程不在难学 让技术与生活更加有趣 随着互联网
  • 转」最佳方案:迭代式开发

    前言 Fred Brooks 在 25 年前就曾写到 不要指望一次成功 无论如何你都要这样 敏捷开发 小步快跑 持续迭代 不断改进 产品升级 在用例需要之前 不要添加数据成员 在代码之前编写测试 过早的优化时万恶之源 不要过度强调代码的通用
  • 一文读懂网联-网联的业务方案和技术实现(1)

    支付产品设计必知的支付底层逻辑 网联平台全业务功能详解 2 我想 银联 大家都不陌生 我们用的银行卡基本都是银联卡 而网联想必很多人并不清楚 其实网联和银联在一个职能上平分秋色 电子支付的清算机构 我们国家并驾齐驱的2家清算机构 网联与银联
  • python学习基础(3)—循环、数据结构及函数

    循环 数据结构及函数 循环 for循环及循环嵌套 break及continue命令 while循环 列表 元组结构及字典结构 高级列表操作 高级字典操作 函数 自定义函数 系统内置函数 导入包 循环 python循环命令有两个 for循环用
  • DirectShow中H.264 SourceFilter的Pin配置

    对DirectShow SourceFilter 要在Pin上输出H 264码流 需要注意如下设置 majortype MEDIATYPE Video 73646976 0000 0010 8000 00AA00389B71 subtype
  • UNet 浅析

    文章目录 1 UNet 简介 2 UNet 详解 3 代码实例 医学图像分割 ISBI数据集 参考 1 UNet 简介 UNet 属于 FCN 的一种变体 它可以说是最常用 最简单的一种分割模型 它简单 高效 易懂 容易构建 且可以从小数据
  • 【白嫖系列】永久免费域名申请教程 eu.org

    Welcome to Aedream同学 s blog 文章目录 eu org 注册 激活注册 域名解析 eu org eu org 一个从1996开始提供免费域名的组织 其官网地址是 https nic eu org 他帮助学生 爱好者或
  • Unity的Animator与Animation之间的简单区别

    一 Animator 1 动画控制器 实现控制多个动画的播放 切换及叠加系列复杂的效果 相当于一个动画状态机 生成动画的时候不仅有动画文件 还会生成相应的 controller文件 因此占用的资源比较大 2 Animator组件介绍 Con
  • Mysql(一)三大范式、数据类型、常用函数、事务

    文章目录 一 SQL基础 1 1 SQL通用语法 1 2 SQL分类 1 2 1 DDL语句 1 2 2 DML语句 1 3 HAVNG子句和WHERE的异同点 1 4 SELECT 和 SELECT 全部字段 的写法对比 1 5 三大范式
  • C# Winform中窗体的美化—— 用IrisSkin轻松实现换肤功能

    今天经前辈提醒才知道winform窗体还有美化工具 呵呵 不得不说 孤陋寡闻了 下面总结一下irisskin2的使用步骤和遇到的问题及解决办法 1 网址 http www pc6 com softview SoftView 70918 ht