vs2005 中 更换皮肤

学习提速专享!AI工具全家桶免费用 限时购周边加赠Coding Plan Lite,解锁20+主流AI工具,写代码、查资料快人一步! 阅读详情

Visual Studio 2005工具箱上右击选择“选择项”,慢慢等...
在弹出的“选择工具箱项”选项卡中,点击“浏览”,找到IrisSkin2.dll存放的位置,双击,
你会发现多了个“SkinEngine”,确定。
将公共控件里的“SkinEngine”,拖到窗体上,将皮肤文件*.ssk在“解决方案资源管理器”中
添加到bin文件夹下的Debug文件夹下。(先复制皮肤文件*.ssk,在Debug文件夹上右击“粘贴”)
在初始化时加上一句:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


namespace WindowsApplication1
{
       public partial class Form1 : Form
       {
           public Form1()
           {
               InitializeComponent();
            this.skinEngine1.SkinFile = "*.ssk";
           }


           private void Form1_Load(object sender, EventArgs e)
           {


           }
       }
}

 

 

 

 

 

 

1:控件(破解版,只限.Net2005)和皮肤下载地址如下(用影音传送带等下载工具下载):

http://download1.csdn.net/down3/20070605/05142029888.rar

DEMO程序(含源码)

http://dl2.csdn.net/down4/20070628/28181121698.rar

2:载入

下载后的rar文件里有一个IrisSkin2.dll和一个skin文件夹。

添加引用,将IrisSkin2.dll引用进项目中。

然后在解决方案资源管理器里右击项目→添加→新建文件夹,文件夹名为skin。

建完skin文件夹后再右击这个文件夹→添加→现有项,在弹出的文件选择框里选*.*所有文件,再把解压出来的skin文件夹里的所有文件全选进去。

这时候我们可以看到skin文件夹里已经有了我们添加的所有的换肤文件了。再按ctrl键选中所有的skin文件夹里的文件,在属性栏里可以看到“生成操作”一栏,默认选项是“无”,我们把它改成“嵌入的资源”。

3:类

下面我们新建一个类,把以下的代码复制进去,别忘了把命名空间改成你自己的。

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Data;

//TestSkin命令空间,别忘了改成你自己的。
namespace TestSkin
{
     class SkinClass
     {
         public static Sunisoft.IrisSkin.SkinEngine se = null;
         /// <summary>
         /// 增加换肤菜单
         /// </summary>
         /// <param name="toolMenu"></param>
         public static void AddSkinMenu(ToolStripMenuItem toolMenu)
         {
             DataSet skin = new DataSet();
             try
             {

                 skin.ReadXml("skin.xml", XmlReadMode.Auto);
             }
             catch
             {

             }
             if (skin == null || skin.Tables.Count < 1)
             {
                 skin = new DataSet();
                 skin.Tables.Add("skin");
                 skin.Tables["skin"].Columns.Add("style");
                 System.Data.DataRow dr = skin.Tables["skin"].NewRow();
                 dr[0] = "系统默认";
                 skin.Tables[0].Rows.Add(dr);
                 skin.WriteXml("skin.xml", XmlWriteMode.IgnoreSchema);
             }
             foreach (SkinType st in (SkinType[])System.Enum.GetValues(typeof(SkinType)))
             {
                 toolMenu.DropDownItems.Add(new ToolStripMenuItem(st.ToString()));

                 toolMenu.DropDownItems[toolMenu.DropDownItems.Count - 1].Click += new EventHandler(frm_Main_Click);
                 if (st.ToString() == skin.Tables[0].Rows[0][0].ToString())
                 {
                     ((ToolStripMenuItem)toolMenu.DropDownItems[toolMenu.DropDownItems.Count - 1]).Checked = true;
                     frm_Main_Click(toolMenu.DropDownItems[toolMenu.DropDownItems.Count - 1], null);

                 }

             }

             toolMenu.DropDownItems.Add(new ToolStripMenuItem("系统默认"));
             toolMenu.DropDownItems[toolMenu.DropDownItems.Count - 1].Click += new EventHandler(frm_Main_Click);
             if (skin.Tables[0].Rows[0][0].ToString() == "系统默认")
             {
                 ((ToolStripMenuItem)toolMenu.DropDownItems[toolMenu.DropDownItems.Count - 1]).Checked = true;
             }
         }
         static void frm_Main_Click(object sender, EventArgs e)
         {

             for (int i = 0; i < ((ToolStripMenuItem)((ToolStripMenuItem)sender).OwnerItem).DropDownItems.Count; i++)
             {
                 if (((ToolStripMenuItem)sender).Text == ((ToolStripMenuItem)((ToolStripMenuItem)sender).OwnerItem).DropDownItems[i].Text)
                 {
                     ((ToolStripMenuItem)sender).CheckState = CheckState.Checked;
                     DataSet skin = new DataSet();
                     skin.Tables.Add("skin");
                     skin.Tables["skin"].Columns.Add("style");
                     System.Data.DataRow dr = skin.Tables["skin"].NewRow();
                     dr[0] = ((ToolStripMenuItem)((ToolStripMenuItem)sender).OwnerItem).DropDownItems[i].Text;
                     skin.Tables[0].Rows.Add(dr);
                     skin.WriteXml("skin.xml", XmlWriteMode.IgnoreSchema);

                 }
                 else
                 {
                     ((ToolStripMenuItem)((ToolStripMenuItem)((ToolStripMenuItem)sender).OwnerItem).DropDownItems[i]).CheckState = CheckState.Unchecked;
                 }
             }
             if (((ToolStripMenuItem)sender).Text == "系统默认")
             {
                 RemoveSkin();
                 DataSet skin = new DataSet();
                 skin.Tables.Add("skin");
                 skin.Tables["skin"].Columns.Add("style");
                 System.Data.DataRow dr = skin.Tables["skin"].NewRow();
                 dr[0] = "系统默认";
                 skin.Tables[0].Rows.Add(dr);
                 skin.WriteXml("skin.xml", XmlWriteMode.IgnoreSchema);
                 return;
             }
             foreach (SkinType st in (SkinType[])System.Enum.GetValues(typeof(SkinType)))
             {
                 if (st.ToString() == ((ToolStripMenuItem)sender).Text)
                 {
                     ChangeSkin(st);
                     return;
                 }
             }
         }
         /// <summary>
         /// 改变皮肤
         /// </summary>
         /// <param name="st"></param>
         public static void ChangeSkin(SkinType st)
         {
             System.Reflection.Assembly thisDll = System.Reflection.Assembly.GetExecutingAssembly();
             if (se == null)
             {
                 //TestSkin是指命名空间,这里你可以换成你自己的。
                 se = new Sunisoft.IrisSkin.SkinEngine(Application.OpenForms[0], thisDll.GetManifestResourceStream("TestSkin.skin." + st.ToString() + ".ssk"));
                 se.Active = true;
                 for (int i = 0; i < Application.OpenForms.Count; i++)
                 {
                     se.AddForm(Application.OpenForms[i]);
                 }

             }
             else
             {
                 //TestSkin是指命名空间,这里你可以换成你自己的。
                 se.SkinStream = thisDll.GetManifestResourceStream("TestSkin.skin." + st.ToString() + ".ssk");
                 se.Active = true;
             }
         }
         /// <summary>
         /// 移除皮肤
         /// </summary>
         public static void RemoveSkin()
         {
             if (se == null)
             {
                 return;
             }
             else
             {
                 se.Active = false;
             }
         }
     }
     /// <summary>
     /// 换肤类型
     /// </summary>
     public enum SkinType
     {
         Calmness,
         DeepCyan,
         Eighteen,
         Emerald,
         GlassBrown,
         Longhorn,
         MacOS,
         Midsummer,
         MP10,
         MSN,
         OneBlue,
         Page,
         RealOne,
         Silver,
         SportsBlack,
         SteelBlack,
         vista1,
         Vista2,
         Warm,
         Wave,
         XPSilver
     }
}


4:调用

在你的主窗体里加上一个MenuStrip菜单,建一个2级菜单(如:文件→更换皮肤),然后在Form_Load事件里写上调用代码:

private void Form1_Load(object sender, EventArgs e)
         {
             //“更换皮肤ToolStripMenuItem” 是上面例子里“更换皮肤”这个ToolStripMenuItem的Name。
             SkinClass.AddSkinMenu(更换皮肤ToolStripMenuItem);
         }

5:注

以下两个方法是主要换肤用的:

ChangeSkin方法换肤

RemoveSkin方法恢复系统默认皮肤

大家可以不用直接给单独一个窗体换肤。我以上的代码是生成一个换肤菜单,然后所有的窗体都是自动进行换肤了

c# 程序皮肤控件  if(document.getElementById("m_blog")){ var imgarray = document.getElementById("m_blog").getElementsByTagName(img); var imgw = document.getElementById("m_blog").offsetWidth; imgw =imgw-40; for(var i 阅读详情

相关推荐

C#如何使用skinEngine控件换肤(更换皮肤)?

在使用C#开发窗体程序时,原始的皮肤方案比较难看,因此开发者需要更换皮肤,以提高客户体验。skinEngine控件就是一个很好的解决方案,它可以降低开发者开发新皮肤的成本,一个新手也可以很快的掌握更换皮肤的方法。 以软件【银行业会计技能训练系统】为例。如下,使用skinEngine控件后,皮肤方案很多。 那么C#如何使用skinEngine控件换肤(更换皮肤)?h...

TING说 6981

C#56种超漂亮Winform界面皮肤(SSK)

使用方法: 1、 添加“IrisSkin2.dll”的引用 2、 设置skinEngine的SkinFile的皮肤路径即可 例如: skinEngine1.SkinFile = Application.StartupPath + @"\SteelBlack.ssk";//加载皮肤

个性化Visual Studio开发环境:打造专属IDE皮肤

Visual Studio是微软公司开发的一款集成开发环境(IDE),支持多种编程语言。Visual Studio的用户界面(UI)元素如颜色、图标、字体等都可以被自定义,这些自定义的设置通常被统称为“皮肤”。皮肤不仅可以改变IDE的外观,还可以根据开发者的个人喜好或项目需求调整界面风格。IrisSkin.dll是第三方提供的一款强大的皮肤引擎,可以应用在各种Windows应用程序中,特别是在Visual Studio开发环境中,它可以极大地增强界面的美观性。

weixin_32251525的博客 971

WinForm皮肤控件SkinEngine.zip

Winform皮肤控件。C#中利用 IrisSkin2.dll 所提供的控件 SkinEngine 来为窗体添加皮肤。这种方法最简单 ,包含60个皮肤,辅助文件,使用方式。

C#WinForm界面: 使用IrisSkin4实现美化换肤

C#WinForm界面: 使用IrisSkin4实现美化换肤,应用过程记录。

susan的博客 2872

C#WinForm界面: 使用IrisSkin4实现软件界面美化换肤

本篇文章主要用于记录C#winform界面使用IrisSkin4进行皮肤美化的应用过程,方便以后参考。

weixin_37864926的博客 4287

C#更换皮肤(VS2005)

C#更换皮肤(VS2005)

780

如何美化你的.net 应用程序

利用.net技术能够快速开发出应用程序,但是如果应用微软的那一套技术,做出来的程序大多数程序员恐怕都会有一种千篇一律的感觉:按钮还是那个按钮(只是文字不同),文本框还是那个文本框,下拉列表还是那个下拉列表........跟系统里的没有什么两样,不管程序怎么样,至少这个界面没什么新意。 诚然,目前也有不少第三方的控件,如Xceed Ultimate Suite、ComponentOne.Studi...

84

c#皮肤控件及皮肤打包下载

c#皮肤打包下载 IrisSkin.dll,支持vs2013

skinEngine包.zip

skinEngine包,在对C#编译的窗口进行换肤时需要使用。

Skin++的使用

一.使用皮肤 将SkinPPWTL.lib 、skinppwtl.dll 、SkinPPWTL.h三个文件及相应皮肤(**.ssk)拷贝至工程文件夹下;一般还要将这些文件放在Debug文件夹下。 1.在(VC7)"项目-&gt;属性-&gt;链接器-&gt;输入-&gt;附加依赖项"中加入SkinPPWTL.lib 或 在(VC6)"Project-&gt;Settings-&gt;Link...

straw hat in the wind 244

美化你的.net WinForm应用程序

利用.net技术能够快速开发出应用程序,但是如果应用微软的那一套技术,做出来的程序大多数程序员恐怕都会有一种千篇一律的感觉:按钮还是那个按钮(只是文字不同),文本框还是那个文本框, 下拉列表还是那个下拉列表........跟系统里的没有什么两样,不管程序怎么样,至少这个界面没什么新意。 诚然,目前也有不少第三方的控件,如Xceed Ultimate Suit...

weixin_34088598的博客 74

c# winform 给winform,C#换上新衣服,新控件,第3方控件,皮肤

首先要在一个构造方法里加如这个 public Login() { InitializeComponent(); this.skinEngine1.SkinFile = "DiamondBlue.ssk"; }   还要把DiamondBlue.ssk和IrisSkin2.dll文件复制到项目的E:\csharpwork...

黑色头发 590

MFC使用Skin++外观美化

原文地址:MFC使用Skin++外观美化作者:Justina_liu<br />Skin++的使用<br />一.使用皮肤<br />将SkinPPWTL.lib、skinppwtl.dll、SkinPPWTL.h三个文件及相应皮肤(**.ssk)拷贝至工程文件夹下;一般还要将这些文件放在Debug文件夹下。<br /><br />1.在(VC7)"项目->属性->链接器->输入->附加依赖项"中加入SkinPPWTL.lib<br />或在(VC6)"Project->Settings->Link->Ob

doriswang1986的专栏 668

skin++ 破解版 皮肤库使用

skin++可以使VC++等工具写的软件的界面很漂亮,但是试用版在运行时会跳出注册框,正式版又需要花钱,下面的这种方法将会使注册窗口不再跳出来。     1、将skin++(破解后的)的三个文件SkinPPWTL.h、SkinPPWTL.lib、SkinPPWTL.dll连同你需要用的皮肤文件一同拷贝到你的工程目录下。     2、在工程的stdafx.h文件引入SkinPPWTL.h头文件,

拥抱变化 6466
下一篇: SQL Server 安装:以前的某个程序安装已在安装计算机上创建挂起的文件操作 的解决办法
开发者孙小聪
博客等级 码龄18年 74粉丝 95原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值