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?

1.  DevExpress.UserSkins.OfficeSkins.Register();

2.              DevExpress.UserSkins.BonusSkins.Register();

3.              Application.EnableVisualStyles();

4.              Application.SetCompatibleTextRenderingDefault(false);

5.              if (!DevExpress.Skins.SkinManager.AllowFormSkins)

6.                  DevExpress.Skins.SkinManager.EnableFormSkins();

7.              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。这么简单!!!

以下是主要代码及运行效果:

1.    public frmMain()

2.         {

3.             InitializeComponent();

4.             BarSubItem skinBar = new BarSubItem(barManager1, "Look and Feel");

5.             this.mainMenuBar.AddItem(skinBar);

6.

7.

8.

9.             string bonusSkinNames = ";Coffee;Liquid Sky;London Liquid Sky;Glass Oceans;Stardust;Xmas 2008 Blue;Valentine;McSkin;Summer 2008;Pumpkin;Dark Side;Springtime";

10.          BarSubItem BonusSkins = new BarSubItem(barManager1, "Bonus Skins");

11.          BarSubItem OfficeSkins = new BarSubItem(barManager1, "Office Skins");

12.          BarSubItem Skins = new BarSubItem(barManager1, "Skins");

13.          foreach (SkinContainer cnt in SkinManager.Default.Skins)

14.          {

15.              BarButtonItem subMenu = new BarButtonItem(barManager1, cnt.SkinName);

16.              subMenu.ItemClick += new ItemClickEventHandler(subMenu_ItemClick);

17.              if (cnt.SkinName.IndexOf("Office") > -1)

18.              {

19.                  OfficeSkins.AddItem(subMenu);

20.              }

21.              else if (bonusSkinNames.IndexOf(string.Format(";{0}", cnt.SkinName)) > -1)

22.              {

23.                  BonusSkins.AddItem(subMenu);

24.              }

25.              else

26.              {

27.                  Skins.AddItem(subMenu);

28.              }

29.          }

30.          string[] OtherSkins = new string[] { "Default",  "Flat", "Ultra Flat", "Style3D", "Office2003" };

31.          for (int i = 0; i < OtherSkins.Length; i++)

32.          {

33.              BarButtonItem subMenu = new BarButtonItem(barManager1, OtherSkins[i]);

34.              subMenu.ItemClick += new ItemClickEventHandler(subMenu_ItemClick);

35.              skinBar.AddItem(subMenu);

36.          }

37.          skinBar.AddItem(Skins);

38.          skinBar.AddItem(OfficeSkins);

39.          skinBar.AddItem(BonusSkins);

40.

41.

42.

43.      }

44.

45.      void subMenu_ItemClick(object sender, ItemClickEventArgs e)

46.      {

47.         switch (e.Item.Caption)

48.          {

49.              case "Style3D":

50.                //  DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Style3D;

51.                  DevExpress.LookAndFeel.UserLookAndFeel.Default.SetStyle3D();

52.                  break;

53.              case "Office2003":

54.                 // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Office2003;

55.                  DevExpress.LookAndFeel.UserLookAndFeel.Default.SetOffice2003Style();

56.                  break;

57.              case "Ultra Flat":

58.               //   DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.UltraFlat;

59.                  DevExpress.LookAndFeel.UserLookAndFeel.Default.SetUltraFlatStyle();

60.                  break;

61.              case "Flat":

62.                 // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Flat;

63.                  DevExpress.LookAndFeel.UserLookAndFeel.Default.SetFlatStyle();

64.                  break;

65.             default:

66.                 // DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = LookAndFeelStyle.Skin;

67.                  DevExpress.LookAndFeel.UserLookAndFeel.Default.SetDefaultStyle();

68.                  break;

69.          }

70.         DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = e.Item.Caption;

71.

72.          //

73.      }

转载于:https://www.cnblogs.com/xuhaibiao/archive/2011/10/23/2221614.html

DevExpress控件之主题相关推荐

  1. DevExpress控件使用经验总结

    DevExpress控件使用经验总结 DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件.本文主要介绍我在使用DevExpress控件过程中,遇到或者发 ...

  2. DevExpress控件使用系列--ASPxTreeList

    DevExpress控件使用系列--ASPxTreeList 控件功能 结合列表控件及树控件的优点,在列表控件中实现类型树的多层级操作  官方说明 http://documentation.devex ...

  3. 【原创】DevExpress控件GridControl中的布局详解

    在进行DevExpress控件GridControl的使用时,因控件的灵活性,所以用户会经常进行拖动控件的列,以达到自己满意的样式, 但下次再打开时系统就会重新还原到原有的布局风格,为了能够保持用户之 ...

  4. 线程访问 DevExpress控件异常时 解决方法

    线程访问 DevExpress控件异常时 解决方法 Control.CheckForIllegalCrossThreadCalls = false; DevExpress.Data.CurrencyD ...

  5. DevExpress控件GridControl中的布局详解 【转】

    DevExpress控件GridControl中的布局详解 [转] 2012-10-24 13:27:28|  分类: devexpress |  标签:devexpress  |举报|字号 订阅 h ...

  6. DevExpress控件之GridControl控件

    DevExpress控件之GridControl控件 http://blog.sina.com.cn/s/blog_6769068d0100iucx.html 1.  设置数据源: string sq ...

  7. Devexpress控件中gridcontrol Drag a column header here to group by that column 更换

    参照网站:http://documentation.devexpress.com/#WPF/DevExpressXpfGridDataViewBase_RuntimeLocalizationStrin ...

  8. devexpress控件的2种汉化方法,官方想得很周到

    devexpress控件库默认安装后,使用的本地资源为英文.但其实它都有本地化资源包,比如按钮属性,控件属性描述,菜单项,确认和错误的信息等等,所有这些资源字符串可以很容易地被翻译成各种语言.对于要求 ...

  9. devexpress控件教程 开发workflow设计器这么简单

    如果你的项目的OA,尤其是政府部门的OA,那么一定会涉及工作流这个功能.这个模块说大不大.说小不大,最头疼的就是它的设计器,一直没有合适的.虽然微软出了工作流的3.5和4.0版本,但也没有配套的设计器 ...

  10. Devexpress 控件做水晶报表小试牛刀(Master-Detail)!!!

    最近由于工作需要,项目中要求做水晶报表,所以就稍微研究了下 Devexpress控件做报表的功能.由于以前博主做报表都是用的是VS自带的,所以有什么不对的还希望大家多多指教. 添加从表     1.启 ...

最新文章

  1. 唤起微信/QQ返回不了当前页面解决方法
  2. Gradle Goodness: Set Java Compiler Encoding--转载
  3. 名词解释_名词解释的答题技巧
  4. Android应用程序组件Content Provider简要介绍和学习计划
  5. java script的图片隐藏,java和javascript中过滤掉img形式的字符串不显示图片的方法...
  6. ​Spring事务的传播行为案例分析
  7. 黑马程序员——选择排序
  8. LeetCode 451 根据字符出现频率排序
  9. 连接MySQL和连接文件夹区别,对数据库连接问题的一点总结
  10. SAP MM BAPI_PO_CREATE1的用法
  11. CRMEB首届UI设计大赛报名啦!
  12. 笔记本电脑连接WIFI速度很慢-解决办法 亲测有效【5MB/S直达10MB/S】
  13. telnet命令用法举例
  14. 虚拟机文件上传至dsm服务器,没NAS也能体验群晖:VMware虚拟机安装DSM详细安装步骤...
  15. Centos 系统折腾
  16. 程序员从初级到中级10个秘诀
  17. 艺赛旗(RPA) Pandas 类库基础知识
  18. 7-139 手机话费 (10分)
  19. mysql报错:Column count doesn‘t match value count at row 1
  20. 0基础自学软件测试,10分钟从测试9个阶段带你入门【建议收藏】

热门文章

  1. php连接mysql实例留言板_一个php留言板实例详解(附源码下载)
  2. deepin 应用市场安装软件失败_深度商店软件无法安装问题解决方案
  3. c#oracle数组超出,急问:System.IndexOutOfRangeException: 索引超出了数组界限解决方案
  4. 为什么在 Windows 7系统下无法显示 STEP 7 MicroWin SP9的帮助文件?
  5. C#,提取avi,mpeg,mp4,rmvb,mkv,flv等等视频文件的摘要信息的方法及其源程序
  6. 【Java】使用ScriptEngine动态执行代码(附Java几种动态执行代码比较)
  7. c 导出html表格数据格式文件,将html网页导出excel表格数据/如何将html页面中的表格导出到excel表格...
  8. DeepFake捏脸真假难辨,汤姆·克鲁斯比本人还像本人!
  9. ChartControl控件
  10. Vue 集成海康h5player,实现ws协议的实时监控播放