中国最专业的商业控件服务网

慧都控件网

电话:023-66090381

巧用DevExpress变换皮肤(图+源码)

作者:不详 出处:网络转载  2/25/2010 11:29:23 AM 阅读 0 次

    我看到评论中有朋友提到了“皮肤”,也就是常说的软件UI方面的内容。那么,我在这里也写个例子,简单的说明一下。看完这个例子后,大家就会明白,所谓“皮肤”的确只是DXperience非常小的一个部分,或者说只是一个功能点。

  甘特图Xgantt(全球首款甘特图32年历史)   Evcombo for Office文档编辑套包
  UPMS通用用户权限系统(通用,灵活,可扩展)   DXperience Uni Premium 白金版(慧都独家)

    接着上篇的内容,先把Program.cs和frmMain.cs准备好。

    1.从工具箱中拖一个DevExpress.XtraEditors.ComboBoxEdit控件到frmMain.cs窗体中。ComboBoxEdit控件在工具箱的位置如下图所示:

 

巧用DevExpress变换皮肤(图+源码)

 

    2.为ComboBoxEdit控件添加SelectedIndexChanged事件的方法,实现ComboBoxEdit控件选择项改变后,改变窗体默认皮肤的功能。代码如下:


1        private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e)
2        {
3            string skinName = comboBoxEdit1.EditValue.ToString();
4            DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = skinName;
5        }

    3.添加frmMain.cs窗体Load事件的方法,实现frmMain.cs窗体加载后,初始化ComboBoxEdit控件选项的功能。代码如下:


 1        private void frmMain_Load(object sender, EventArgs e)
 2        {
 3            comboBoxEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
 4            initSkinList();
 5        }

 6
 7        /// <summary>
 8        /// 初始化皮肤样式列表
 9        /// </summary>

10        private void initSkinList()
11        {
12            foreach (DevExpress.Skins.SkinContainer skinContainer in DevExpress.Skins.SkinManager.Default.Skins)
13            {
14                comboBoxEdit1.Properties.Items.Add(skinContainer.SkinName);
15            }

16
17            if (comboBoxEdit1.Properties.Items.Count > 0)
18                comboBoxEdit1.SelectedIndex = 0;
19        }

    3.按“F5”启动调试,即可看到实际的效果。如下图所示:

巧用DevExpress变换皮肤(图+源码)

    可以在皮肤样式的下拉选项中选择不同的项来查看变化(XtraTabPage控件不是本文的重点,所以上文中没有提到,大家可以不用理会)。

Evcombo for Office 文档编辑套包,完美实现Office功能

新闻搜索

UPMS通用用户权限系统