打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DevExpress Windows Form(1) DevExpress控件之主题
DevExpress Windows Form(1) DevExpress控件之主题 收藏
DevExpress控件的主题不仅多种多样,而且非常美观大方,以对完美观念不强的我们绝对是个惊喜,当然了,对于我们的用户也是一个福音,因为他们再对不用抱怨我人软件界面是如何的粗造了。
 
l  如何打造美丽的界面?
l  如何快速的更换漂亮的主题?
l  如何快速的使用类似于Offcie2007的操作面板?
......
本节课程将一一解答,带您进入美轮美奂的DevExpress世界!
 
1.   如何建造可换主题的窗口程序
当我们打开或新建一个“Windows程序”,系统默认会有一个From,名称为From1。请注意,此时的”Form1”继承的是Windows 自带的Form,即”System.Windows.Forms”。而这个Form是不会应用DevExpress的主题样式的。
那么我们怎么样才可以让Form应用这些样式呢?
当我们安装完DevExpress控件包之后,在添加新项窗口中我们会看到多出的几项:如图:
 
分别是:DevExpress Form v9.1、DevExpress RibbomForm v9.1和DevExpressUsercontrol v9.1,其中“v9.1”是版本号。
当我们在新建“Form”时,选择DevExpress Form为模板,就可以应用DevExpress的漂亮主题了。此时,From继承的是“DevExpress.XtraEditors.XtraForm”。默认情况下,系统主题有:
  Caramel
  Money Twins
  Lilian
  The Asphalt World
  iMaginary
  Black
  Blue
这几种主题,具体效果自己写个例子看看吧! 但DevExpress提供了更多的主题, 我们如果应用的话,必须添加以下引用 :
DevExpress..OfficeSkins.v9.1;
DevExpress.BonusSkins.v9.1;
   除此之外,必须在“Program.cs”文件在添加如下代码:
view plaincopy to clipboardprint?
01.DevExpress.UserSkins.OfficeSkins.Register();  
02.            DevExpress.UserSkins.BonusSkins.Register();  
03.            Application.EnableVisualStyles();  
04.            Application.SetCompatibleTextRenderingDefault(false);  
05.            if (!DevExpress.Skins.SkinManager.AllowFormSkins)  
06.                DevExpress.Skins.SkinManager.EnableFormSkins();  
07.            Application.Run(new frmMain()); 
DevExpress.UserSkins.OfficeSkins.Register();
            DevExpress.UserSkins.BonusSkins.Register();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            if (!DevExpress.Skins.SkinManager.AllowFormSkins)
                DevExpress.Skins.SkinManager.EnableFormSkins();
            Application.Run(new frmMain()); 
    其中“OfficeSkins”中的主题有:
  Office 2007 Blue
  Office 2007 Black
  Office 2007 Silver
  Office 2007 Green
  Office 2007 Pink
“BonusSkins”的主题有:
  Coffee
  Liquid Sky
  London Liquid Sky
  Glass Oceans
  Stardust
  Xmas 2008 Blue
  Valentine
  McSkin
  Summer 2008
  Pumpkin
  Dark Side
  Springtime
2.   如何快速的更换漂亮的主题
通过“foreach(SkinContainer cnt in SkinManager.Default.Skins){}”可以获取现有所有遥主题名称,可以把获取的主题添另到菜单上,让用户选择自己喜爱的主题样式。
通过对“DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName”设置主题名称,就可以轻松的更换主题,是不是很方便?!
 
 
 
 
下面就写一个例子,展示一下它们漂亮的“皮肤”吧!
 

3.      添加类似于Office2007的窗口
Microsoft Office 2007窗口的操作面板非常漂亮,值得让人欣喜的是DevExpress里不仅有“RibbonControl”这样的控件,还有现成的Form 模板直接使用,添加一个:
添加新项—选项“DevExpress RibbomForm v9.1”,OK。这么简单!!!
 
 
以下是主要代码及运行效果:
 
+ expand sourceview plaincopy to clipboardprint?
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150public frmMain()  
     {  
         InitializeComponent();  
         BarSubItem skinBar = new BarSubItem(barManager1, "Look and Feel");  
         this.mainMenuBar.AddItem(skinBar);  
 
 
 
         string bonusSkinNames = ";Coffee;Liquid Sky;London Liquid Sky;Glass Oceans;Stardust;Xmas 2008 Blue;Valentine;McSkin;Summer 2008;Pumpkin;Dark Side;Springtime";  
         BarSubItem BonusSkins = new BarSubItem(barManager1, "Bonus Skins");  
         BarSubItem OfficeSkins = new BarSubItem(barManager1, "Office Skins");  
         BarSubItem Skins = new BarSubItem(barManager1, "Skins");  
         foreach (SkinContainer cnt in SkinManager.Default.Skins)  
         {  
             BarButtonItem subMenu = new BarButtonItem(barManager1, cnt.SkinName);  
             subMenu.ItemClick += new ItemClickEventHandler(subMenu_ItemClick);  
             if (cnt.SkinName.IndexOf("Office") > -1)  
             {  
                 OfficeSkins.AddItem(subMenu);  
             }  
             else if (bonusSkinNames.IndexOf(string.Format(";{0}", cnt.SkinName)) > -1)  
             {  
                 BonusSkins.AddItem(subMenu);  
             }  
             else 
             {  
                 Skins.AddItem(subMenu);  
             }  
         }  
         string[] OtherSkins = new string[] { "Default",  "Flat", "Ultra Flat", "Style3D", "Office2003" };  
         for (int i = 0; i < OtherSkins.Length; i++)  
         {  
             BarButtonItem subMenu = new BarButtonItem(barManager1, OtherSkins[i]);  
             subMenu.ItemClick += new ItemClickEventHandler(subMenu_ItemClick);  
             skinBar.AddItem(subMenu);  
         }  
         skinBar.AddItem(Skins);  
         skinBar.AddItem(OfficeSkins);  
         skinBar.AddItem(BonusSkins);  
 
 
 
     }  
 
     void subMenu_ItemClick(object sender, ItemClickEventArgs e)  
     {  
        switch (e.Item.Caption)  
         {  
             case "Style3D":  
               //  DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Style3D;  
                 DevExpress.LookAndFeel.UserLookAndFeel.Default.SetStyle3D();  
                 break;  
             case "Office2003":  
                // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Office2003;  
                 DevExpress.LookAndFeel.UserLookAndFeel.Default.SetOffice2003Style();  
                 break;  
             case "Ultra Flat":  
              //   DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.UltraFlat;  
                 DevExpress.LookAndFeel.UserLookAndFeel.Default.SetUltraFlatStyle();  
                 break;  
             case "Flat":  
                // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Flat;  
                 DevExpress.LookAndFeel.UserLookAndFeel.Default.SetFlatStyle();  
                 break;  
            default:  
                // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Skin;  
                 DevExpress.LookAndFeel.UserLookAndFeel.Default.SetDefaultStyle();  
                 break;    
         }  
        DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = e.Item.Caption;  
           
         //  
     } 
   public frmMain()
        {
            InitializeComponent();
            BarSubItem skinBar = new BarSubItem(barManager1, "Look and Feel");
            this.mainMenuBar.AddItem(skinBar);
 
            string bonusSkinNames = ";Coffee;Liquid Sky;London Liquid Sky;Glass Oceans;Stardust;Xmas 2008 Blue;Valentine;McSkin;Summer 2008;Pumpkin;Dark Side;Springtime";
            BarSubItem BonusSkins = new BarSubItem(barManager1, "Bonus Skins");
            BarSubItem OfficeSkins = new BarSubItem(barManager1, "Office Skins");
            BarSubItem Skins = new BarSubItem(barManager1, "Skins");
            foreach (SkinContainer cnt in SkinManager.Default.Skins)
            {
                BarButtonItem subMenu = new BarButtonItem(barManager1, cnt.SkinName);
                subMenu.ItemClick += new ItemClickEventHandler(subMenu_ItemClick);
                if (cnt.SkinName.IndexOf("Office") > -1)
                {
                    OfficeSkins.AddItem(subMenu);
                }
                else if (bonusSkinNames.IndexOf(string.Format(";{0}", cnt.SkinName)) > -1)
                {
                    BonusSkins.AddItem(subMenu);
                }
                else
                {
                    Skins.AddItem(subMenu);
                }
            }
            string[] OtherSkins = new string[] { "Default",  "Flat", "Ultra Flat", "Style3D", "Office2003" };
            for (int i = 0; i < OtherSkins.Length; i++)
            {
                BarButtonItem subMenu = new BarButtonItem(barManager1, OtherSkins[i]);
                subMenu.ItemClick += new ItemClickEventHandler(subMenu_ItemClick);
                skinBar.AddItem(subMenu);
            }
            skinBar.AddItem(Skins);
            skinBar.AddItem(OfficeSkins);
            skinBar.AddItem(BonusSkins);
 
        }
        void subMenu_ItemClick(object sender, ItemClickEventArgs e)
        {
           switch (e.Item.Caption)
            {
                case "Style3D":
                  //  DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Style3D;
                    DevExpress.LookAndFeel.UserLookAndFeel.Default.SetStyle3D();
                    break;
                case "Office2003":
                   // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Office2003;
                    DevExpress.LookAndFeel.UserLookAndFeel.Default.SetOffice2003Style();
                    break;
                case "Ultra Flat":
                 //   DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.UltraFlat;
                    DevExpress.LookAndFeel.UserLookAndFeel.Default.SetUltraFlatStyle();
                    break;
                case "Flat":
                   // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Flat;
                    DevExpress.LookAndFeel.UserLookAndFeel.Default.SetFlatStyle();
                    break;
               default:
                   // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Skin;
                    DevExpress.LookAndFeel.UserLookAndFeel.Default.SetDefaultStyle();
                    break; 
            }
           DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = e.Item.Caption;
           
            //
        }
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wservices/archive/2009/07/10/4336500.aspx
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
DevExpress.Winform之更换主题 - 544904950的日志 - 网易博客
DevExpress.换肤
2012年中考总复习攻略资料大全
Swing 架构概述-可拔插的感官架构
细品RibbonX(9):层次分明的RibbonX代码结构
动态添加DevExpress 套件中 dxBar的菜单项目
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服