DevExpress动态换肤

摘要:
6[STAThread]7staticvoidMain()8{9DevExpress.UserSkins.BonusSkins.Register();14Application.SetCompatibleTextRenderingDefault(false);}设置{frmBase.gLobalDefaultLookAndFeel=value;

1.首先添加DevExpress.OfficeSkinsDevExpress.BonusSkins 两个引用。
在Main()函数之前进行皮肤注册:

 1 static class Program 
 2 { 
 3 /// <summary> 
 4 /// 应用程序的主入口点。 
 5 /// </summary> 
 6 [STAThread] 
 7 static void Main() 
 8 { 
 9 DevExpress.UserSkins.BonusSkins.Register();//皮肤注册 
10 DevExpress.UserSkins.OfficeSkins.Register(); 
11 DevExpress.Skins.SkinManager.EnableFormSkins();//激活窗体皮肤,否则窗体还是操作系统默认主题风格 
12 DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName = "Blue"; 
13 Application.EnableVisualStyles(); 
14 Application.SetCompatibleTextRenderingDefault(false); 
15 Application.Run(new XtraForm1()); 
16 } 
17 }

2.添加一个父窗体,加一个全局静态DefaultLookAndFeel 成员控制皮肤,其他所有的窗体都继承该父窗体。

public partial class frmBase: DevExpress.XtraEditors.XtraForm {
    private static DefaultLookAndFeel gLobalDefaultLookAndFeel = new DefaultLookAndFeel();
    public static DefaultLookAndFeel GLobalDefaultLookAndFeel {
        get {
            return frmBase.gLobalDefaultLookAndFeel;
        }
        set {
            frmBase.gLobalDefaultLookAndFeel = value;
        }
    }
    public frmBase() {
        InitializeComponent();
    }
}

 3.添加一个控制皮肤的窗体frmSkin:

DevExpress动态换肤第1张

public partial class frmSkin: DevExpress.XtraEditors.XtraForm {
    public frmSkin() {
        InitializeComponent();
    }
    private void frmSkin_Load(object sender, EventArgs e) {
        foreach(DevExpress.Skins.SkinContainer skinc in DevExpress.Skins.SkinManager.Default.Skins) {
            cboSkins.Properties.Items.Add(skinc.SkinName);
        }
    }
    private void cboSkins_SelectedIndexChanged(object sender, EventArgs e) {
        frmBase.GLobalDefaultLookAndFeel.LookAndFeel.SkinName = cboSkins.Text;
    }
    private void btnOK_Click(object sender, EventArgs e) {
        this.Close();
    }
}

 DevExpress动态换肤第2张

免责声明:文章转载自《DevExpress动态换肤》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇dcoker常用命令Python进阶 学习笔记(三)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

实现WinForm窗体的美化(借助第三方控件)

在winform项目中,其实皮肤就是一个第三方的控件,名字是IrisSkin4.dll只要添加到你的工具箱里就可以和其它控件一样使用了 一.添加控件IrisSkin4.dll。方法: 先把IrisSkin4.dll文件添加到当前项目引用(解决方案资源管理器->当前项目->引用->右键->添加引用,找到IrisSkin4.dll文件....

C#源码大汇总

C#高仿QQ2013可在广域网部署聊天系统GG叽叽动态显示硬盘分区容量饼图自定义ProgressBar控件高仿Win8进度条多皮肤精美在线QQ悬浮客服插件jQuery仿天猫首页多格焦点图片轮播jQuery时间轴特效自动完成菜单、代码提示、输入纠错控件仿Google浏览器进度条仿苹果Safari浏览器选项卡自定义TabControl控件蜂窝大战游戏C#开源内...

WPF一步步实现完全无边框自定义Window(附源码)

   在我们设计一个软件的时候,有很多时候我们需要按照美工的设计来重新设计整个版面,这当然包括主窗体,因为WPF为我们提供了强大的模板的特性,这就为我们自定义各种空间提供了可能性,这篇博客主要用来介绍如何自定义自己的Window,在介绍整个写作思路之前,我们来看看最终的效果。     图一 自定义窗体主界面   这里面的核心就是重写Window的Templ...

一名Delphi程序员的开发习惯

一名Delphi程序员的开发习惯 有关开发习惯的一些想法,如鲠在喉,不吐不快。究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢。一.建立工程目录首先,第一步要做的,当然是给新项目建一个单独的目录(别笑)...

winform窗体(五)——布局方式

一、默认布局 ★可以加panel,也可以不加; ★通过鼠标拖动控件的方式,根据自己的想法布局。拖动控件的过程中,会有对齐的线,方便操作; ★也可选中要布局的控件,在工具栏中有对齐工具可供选择,也有调整各个控件大小的工具。 注:分层:右键点击控件。可以选择置于顶层或置于顶层。       锁定控件:当部分布局完成,为了操作失误,把布局好的打乱,可以选中布局...

CDHtmlDialog探索----Javascript与窗体交互

CDHtmlDialog探索----Javascript与窗体交互 CDHtmlDialog提供了C++与网页的双向交互,通此一系统简单的宏调用可以把网页中各元素的事件直接映射到C++程序中,而在网页中调用C++功能代码就显的不那么直观了。归根结底交互的基理就是实现相应COM接口。实现方式如下: 1、在窗体初始化时调用EnableAutomation函数...