C# Winform中窗体的美化—— 用IrisSkin轻松实现换肤功能
解决方法是:在解决方案资源管理器中的工程项上点击右键,选择属性,把FrameWork的框架版本改为.Net4即可。
(2)网址:http://zhidao.baidu.com/link?url=YOvAeHLkOgmE-XKa7YnVFs4qE4a--5bsCKxweIDuYgHwU-TygCGKm1hePlWTDrQ4X9eIjOZfLaqVgWsp2eUgF_
C# 错误!!容量超出了最大容量。参数名: capacity
最后效果图
弹框这出现的错误上边有,改成提示两个字就好了。
如果想把这个样式应用到所有窗体中,就在属性中把SkinAllForm设置成true,不想就是False。还有把SkinFile选择样式文件的路径,然后才能显示样式。
@"\DiamondBlue.ssk";
"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; new Sunisoft.IrisSkin.SkinEngine(); true; |
出处:http://www.cnblogs.com/zhaoxiaoming/archive/2012/07/25/Form_Beautify.html
===================================================================================================
外,由于皮肤使用了很多的ssk文件以及dll文件,有时不想要这么多的文件,只是想生成一个exe的应用程序,使用可以把ssk和dll文件整合进exe文件中,具体的可以参考我的另外一篇文章:皮肤和DLL和图片等项目文件完全整合到exe中
C# Winform中窗体的美化—— 用IrisSkin轻松实现换肤功能的更多相关文章
- .NET vs2010中使用IrisSkin2.dll轻松实现winForm窗体换肤功能
IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现winForm窗体换肤! 网上很多朋友说在VS2010中不能使用IrisSkin2.dll,我这里提供一个取巧的办法. Iri ...
- C# winform中 窗体缩放自适应的方法(不同电脑/不同分辨率)
C# winform中 窗体缩放自适应的方法(不同电脑/不同分辨率) 窗体缩放是一个困扰我多时的问题,为了解决这个问题,我从网上找了很多相关的资料,很多人说用Anchor和Dock属性,但是我试了 ...
- C# WinForm界面美化--使用IrisSkin实现换肤功能
WinForm界面使用IrisSkin,可以说做到了一键美化,当然美化的效果仁者见仁智者见智,可以挑选自己喜欢的. 1.IrisSkin下载地址:https://www.cr173.com/soft/ ...
- C#.NET vs2010中使用IrisSkin4.dll轻松实现WinForm窗体换肤功能
IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现WinForm窗体换肤 然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在V ...
- c# winform中窗体切换后释放及防止重复生成
问题1:窗体切换后如何关闭,并释放资? c# winform中,2个窗体,form1和form2,互相切换的时候执行 this.Hide(); Form2 form2 = new Form2(); f ...
- C# WInForm中 窗体的this.width和this.height的属性值不能大于显示器的最大分辨率
最近在做一个小项目的时候,发现在 1680x1050 分辨率显示器上写的代码,将窗体的宽度和高度 设置成了 1600×900,在高于1600×900的分辨率上缩放显示很正常, 而后转移到 分辨率低于 ...
- Winform- IrisSkin.dll轻松实现窗体换肤功能
IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现winForm窗体换肤 然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在V ...
- 在Winform中怎么实现图片的旋转,比如说实现仪表盘功能,看代码吧,看太不懂的欢迎问
; //旋转的角度 //Timer定时器 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; ...
- Android中插件开发篇之----应用换肤原理解析
一.前言 今天又到周末了,感觉时间过的很快呀.又要写blog了.那么今天就来看看应用的换肤原理解析.在之前的一篇博客中我说道了Android中的插件开发篇的基础:类加载器的相关知识.没看过的同学可以转 ...
随机推荐
- mysql插入一张表里的数据到另一张表
公司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要 ...
- $Java正则表达式基础整理
(一)正则表达式及语法简介 String类使用正则表达式的几个方法: 正则表达式支持的合法字符: 特殊字符: 预定义字符: 方括号表达式: 圆括号表达式:用于将多个表达式组成一个子表达式,可以使用或运 ...
- 019_Map Task数目的确定和Reduce Task数目的指定
注意标题:Map Task数目的确定和Reduce Task数目的指定————自然得到结论,前者是后者决定的,后者是人为指定的.查看源码可以很容易看懂 1.MapReduce作业中Map Task数目 ...
- Linux权限管理 chattr命令、lsattr命令、sudo命令
chattr命令 chattr命令用来修改文件系统的权限属性 chatrr 只有 root 用户可以使用,用来修改文件系统的权限属性,建立凌驾于 rwx 基础权限之上的授权. chatrr 命令格式如 ...
- js 和 jquery 里面几个获取宽高的调查
罗列下 js 和 jquery 里面获取宽高的方法: obj.offsetWidth = $obj.outerWidth() // offsetWidth obj.clientWidth = obj ...
- 2018.7.12训练赛 -K
水题 判断素数 因为范围是到16位,所以可以用long long存储 然后判断是否为素数就ok了. 但我提交之后显示10个测试样例通过了9个.......原因是下面标红的部分. 埃氏筛法:若a是合数, ...
- 斯坦福机器学习视频笔记 Week6 关于机器学习的建议 Advice for Applying Machine Learning
我们将学习如何系统地提升机器学习算法,告诉你学习算法何时做得不好,并描述如何'调试'你的学习算法和提高其性能的“最佳实践”.要优化机器学习算法,需要先了解可以在哪里做最大的改进. 我们将讨论如何理解具 ...
- Nginx的访问日志配置信息详解
Nginx的访问日志可以让我们知晓用户的地址,网站的那些部分最受欢迎,以及用户浏览时间等.Nginx会把每个用户的访问日志记录到指定的日志文件中. Nginx主要有两个参数来控制 log_format ...
- FreeMarker缓存处理
FreeMarker 的缓存处理主要用于模版文件的缓存,一般来讲,模版文件改动不会很频繁,在一个流量非常大的网站中,如果频繁的读取模版文件对系统的负担还是很重的,因此 FreeMarker 通过将模版 ...
- 算法总结之 在单链表和双链表中删除倒数第k个节点
分别实现两个函数,一个可以删除单链表中倒数第k个节点,另一个可以删除双链表中倒数第k个节点 思路: 如果链表为空,或者k<1 参数无效 除此之外 让链表从头开始走到尾,每移动一步,就让k的值减1 ...