打开APP
userphoto
未登录

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

开通VIP
DevExpress.Winform之更换主题 - 544904950的日志 - 网易博客

DevExpress.Winform之更换主题

Dev控件 2009-12-31 11:05:25 阅读440 评论0   字号: 订阅

1、准备

当新建“Form”时,选择DevExpress Form为模板,就可以应用DevExpress的主题了。此时,From继承的是“DevExpress.XtraEditors.XtraForm”。默认情况下,系统主题有:

 Caramel

 Money Twins

 Lilian

 The Asphalt World

 iMaginary

 Black

 Blue

DevExpress提供了更多的主题, 我们如果应用的话,必须添加以下引用 :

DevExpress..OfficeSkins.v8.1;

DevExpress.BonusSkins.v8.1;

   除此之外,必须在“Program.cs”文件在添加如下代码:

 DevExpress.UserSkins.BonusSkins.Register();
            DevExpress.UserSkins.OfficeSkins.Register();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            if (!DevExpress.Skins.SkinManager.AllowFormSkins)
            {
                DevExpress.Skins.SkinManager.EnableFormSkins();
            }
            Application.Run(new MainForm());

其中“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

(注:本人DevExpress为v8.1版本)

2、添加更换皮肤菜单项

通过“foreach(SkinContainer cnt in SkinManager.Default.Skins){}”可以获取现有所有主题皮肤名称,可以把获取的主题添加到菜单上,让用户选择自己喜爱的主题样式。通过函数“DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(string skinName)”设置主题名称,可以更换主题

示例代码如下(直接加到程序中即可,该示例将初始化时的主题设置为"Office 2007 Blue",大家可自行更改):

public partial class MainForm : DevExpress.XtraEditors.XtraForm
    {

        BarSubItem ChangeSkin = new BarSubItem();

        public MainForm()
             {
                  InitializeComponent();
                  InitSkins();
              }
        private void InitSkins()
        {
            string DefaulSkinName = "Office 2007 Blue";
            DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(DefaulSkinName);
            ChangeSkin.Caption = "更换皮肤";
            this.barManager1.Items.Add(ChangeSkin);
            this.bar2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(ChangeSkin), });
           
            foreach (DevExpress.Skins.SkinContainer cnt in DevExpress.Skins.SkinManager.Default.Skins)
            {
                BarButtonItem item = new BarButtonItem(barManager1,cnt.SkinName);
                ChangeSkin.AddItem(item);
                item.ImageIndex = -1;
                item.ButtonStyle = BarButtonStyle.Check;
                item.GroupIndex = 1;
               
                item.ItemClick += new ItemClickEventHandler(OnSkinClick);
               
            }
            foreach (BarItemLink link in ChangeSkin.ItemLinks)
            {
                if (link.Item.Caption == DefaulSkinName)
                {
                    link.Item.PerformClick();
                }
            }
           
        }

        void OnSkinClick(object sender, ItemClickEventArgs e)
            {
               string skinName = e.Item.Caption;
               DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(skinName);
            }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
DevExpress.换肤
整理记录一下DevExpress中更换Form窗体皮肤的操作过程
DevExpress Windows Form(1) DevExpress控件之主题
C#在winForm里嵌入office
DevExpress学习笔记
C# winform DevExpress GridControl GridView大批量数据(20万条)导出Excel
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服