作者:地沟油

进入首页

前言:

  由于系统颜色太单调,所以决定启用DevExpress换肤功能,让界面更美观!

  作者的DevExpress已更换到17.2.3了,不过要是不想升级的话,也可以继续沿用旧版的DevExpress哟,因为旧的和新的区别不大哟!

1.首先我们进入Program,在Main()方法出加入以下代码:

1 //启用皮肤
2             DevExpress.Skins.SkinManager.EnableFormSkins();
3             DevExpress.LookAndFeel.LookAndFeelHelper.ForceDefaultLookAndFeelChanged();
4             DevExpress.Skins.SkinManager.EnableMdiFormSkins();
View Code

2.打开frmMain窗体,加入一个XtraTabbedMdiManager,BarManager,DockManager,DefaultLookAndFeel,分别命名为:

  

 

3.在底部Bar出新增一个BarEditItem,命名为beItemColor。

  

4.在数据库新建一个Skins表,用来保存用户选择过的皮肤。(当然,可以写入Xml,选择写入Xml者可略过本节)

 1 USE [IVW]
 2 GO
 3 
 4 /****** Object:  Table [dbo].[Skins]    Script Date: 2017/11/25 19:53:47 ******/
 5 SET ANSI_NULLS ON
 6 GO
 7 
 8 SET QUOTED_IDENTIFIER ON
 9 GO
10 
11 CREATE TABLE [dbo].[Skins](
12     [Id] [int] IDENTITY(1,1) NOT NULL,
13     [UserId] [int] NOT NULL,
14     [UserCode] [nvarchar](10) NOT NULL,
15     [Values] [nvarchar](50) NOT NULL,
16     [Name] [nvarchar](50) NOT NULL,
17     [DateTime] [datetime] NOT NULL,
18  CONSTRAINT [PK_Skins] PRIMARY KEY CLUSTERED 
19 (
20     [Id] ASC
21 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
22 ) ON [PRIMARY]
23 GO
24 
25 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Skins', @level2type=N'COLUMN',@level2name=N'Id'
26 GO
27 
28 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Skins', @level2type=N'COLUMN',@level2name=N'UserId'
29 GO
30 
31 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Skins', @level2type=N'COLUMN',@level2name=N'UserCode'
32 GO
33 
34 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'皮肤代码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Skins', @level2type=N'COLUMN',@level2name=N'Values'
35 GO
36 
37 EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'皮肤名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Skins', @level2type=N'COLUMN',@level2name=N'Name'
38 GO
Skins

5.在ivw.Models类更新该实体,方便以后把更改过的皮肤保存到数据库中。

  

6.进入frmMain后台,写入以下代码:

 1         #region 启用皮肤 void SetSkins()
 2         void SetSkins()
 3         {
 4             foreach (DevExpress.Skins.SkinContainer skin in DevExpress.Skins.SkinManager.Default.Skins)
 5             {
 6                 ricbColor.Items.Add(skin.SkinName);
 7             }
 8 
 9                 dLookAndFeel.LookAndFeel.SkinName = beItemColor.EditValue.ToString();
10 
11             this.beItemColor.EditValueChanged += BeItemColor_EditValueChanged;
12         }
13 
14         private void BeItemColor_EditValueChanged(object sender, EventArgs e)
15         {
16             dLookAndFeel.LookAndFeel.SkinName = beItemColor.EditValue.ToString();
17         }
18         #endregion
SetSkins

7.在构造函数中使用这个方法。

1         public frmMain()
2         {
3             InitializeComponent();
4             SetSkins();
5         }
View Code

8.让我们试试效果如何。

 

9.好看的皮肤就呈现在眼前咯,更多皮肤请自己尝试哟。😊

 

posted on 2017-11-25 20:12  地沟油  阅读(782)  评论(0编辑  收藏  举报