怎样把皮肤运用到项目的界面里面

解决方案 »

  1.   

    看这个 网站my blog
    http://ufo-crackerx.blog.163.com/
      

  2.   

    全局主题:在Web.config中<system.web>中添加<pages StyleSheetTheme ="ThemeName"/>节,这样在整个应用中都会自动应用名为ThemeName 的主题        页面主题:在ASPX文件顶部加入:<%@ Page Language="C#" StylesheetTheme=" ThemeName " %>,这样当前页面都会应用名为ThemeName 的主题,或者在ASPX_CS中加(Page_Load方法)入如下代码 Page. StyleSheetTheme = “ThemeName”;  
      

  3.   

    winform 的
    http://download.csdn.net/source/2217936
      

  4.   

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows.Forms;
    using System.Data;//TestSkin命令空间,别忘了改成你自己的。
    namespace skintest
    {
        public 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("skintest.skin." + st.ToString() + ".ssk"));
                    se.Enable3rdControl = false;
                    se.Active = true;
                    for (int i = 0; i < Application.OpenForms.Count; i++)
                    {
                        se.AddForm(Application.OpenForms[i]);
                    }
                }
                else
                {
                    //TestSkin是指命名空间,这里你可以换成你自己的。
                    se.Enable3rdControl = false;
                    se.SkinStream = thisDll.GetManifestResourceStream("skintest.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
        {
            office2007,
            MacOS,
            MP10,
            MSN,
            Silver,
            Wave,
            DiamondBlue,
            DeepGreen,
            Eighteen,
            Calmness,
            CalmnessColor1,
            CalmnessColor2,
            DeepCyan,
            DeepOrange,
            DiamondGreen,
            EighteenColor1,
            EighteenColor2,
            EighteenColor3,
            vista1,//这里还可以相继添加很多只要是在skin文件夹中的就可以将他枚举进来。就可以添加多个皮肤。    }
    }
    客户端代码        private void Form1_Load(object sender, EventArgs e)
            {
                SkinClass.AddSkinMenu(更换皮肤ToolStripMenuItem);
            }窗体上的控件只需要一个menuStripwinform的
    然后去网上找个IrisSkin2.dll 的文件就好了,随便百度一下就有的
      

  5.   


    请说明是在C/S 中还是在B/S 项目中???
      

  6.   

    http://www.skin-soft.co.uk更加好,更快了