DevExpress中动态设置主题、皮肤
一、实现效果
1.1、设置全局主题
1.2、设置单窗体主题
1.3、重置全局窗体主题
二、WinForm窗体主题、皮肤操作核心
/***
* Title:"数据采集" 项目
* 主题:WinForm窗体主题操作
* Description:
* 功能:
* 1、获取到所有主题
* 2、获取到全局窗体的主题名称
* 3、设置全局窗体的主题
* 4、重置全局窗体的主题
* 5、获取到窗体的主题名称
* 6、设置窗体主题
* 7、重置窗体的主题
* Date:2021
* Version:0.1版本
* Author:Coffee
* Modify Recoder:
*/using DevExpress.Skins;
using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Utils
{class ThemeOPC{#region 主题操作/// <summary>/// 获取到所有主题/// </summary>/// <returns>返回DevExpress中的所有皮肤</returns>public static SkinContainerCollection GetAllTheme(){//获取到所有主题return SkinManager.Default.Skins;}#endregion #region 全局窗体主题操作/// <summary>/// 获取到全局窗体的主题名称/// </summary>/// <returns>返回当前全局窗体的主题名称</returns>public static string GetGlobalWindowThemeName(){return DevExpress.LookAndFeel.UserLookAndFeel.Default.SkinName;}/// <summary>/// 设置全局窗体的主题/// </summary>/// <typeparam name="T">窗体类型</typeparam>/// <param name="form">窗体</param>/// <param name="skinName">皮肤名称</param>/// <returns>返回设置结果(true:表示成功)</returns>public static bool SetGlobalWindowTheme(string skinName) {if (string.IsNullOrEmpty(skinName)) return false;DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(skinName);return true;}/// <summary>/// 重置全局窗体的主题/// </summary>/// <returns>返回重置全局窗体主题结果(true:表示成功)</returns>public static bool ResetGlobalWindowTheme(){DevExpress.LookAndFeel.UserLookAndFeel.Default.Reset();return true;}#endregion#region 窗体主题操作/// <summary>/// 获取到窗体的主题名称/// </summary>/// <returns>返回当前窗体的主题名称</returns>public static string GetWindowThemeName<T>(T form) where T : XtraForm{return form.LookAndFeel.SkinName;}/// <summary>/// 设置窗体主题/// </summary>/// <typeparam name="T">窗体类型</typeparam>/// <param name="form">窗体</param>/// <param name="skinName">皮肤名称</param>/// <returns>返回设置结果(true:表示成功)</returns>public static bool SetWindowTheme<T>(T form, string skinName) where T : XtraForm{if (form == null || string.IsNullOrEmpty(skinName)) return false;form.LookAndFeel.SetSkinStyle(skinName);return true;}/// <summary>/// 重置窗体的主题/// </summary>/// <returns>返回重置窗体主题结果(true:表示成功)</returns>public static bool ResetWindowTheme<T>(T form) where T : XtraForm{form.LookAndFeel.Reset();return true;}#endregion }//Class_end}
三、使用方法
//获取到全局主题
SkinContainerCollection skinContainerCollection =ThemeOPC.GetAllTheme();//获取到本窗体的主题名称
string curWindowThemeName = ThemeOPC.GetWindowThemeName(this);//设置当前窗体主题为选择主题
ThemeOPC.SetWindowTheme(this, "Blue");//重置窗体主题
ThemeOPC.ResetWindowTheme(this);//获取到全局窗体的主题名称
string curGlobalWindowThemeName = ThemeOPC.GetGlobalWindowThemeName();//设置全局窗体主题为当前选择主题
ThemeOPC.SetGlobalWindowTheme("Blue");//重置全局窗体主题
ThemeOPC.ResetGlobalWindowTheme();
四、其他设置窗体主题参考
①DevExpress使用教程:窗体换肤-控件新闻-慧都网 (evget.com)
②Devexpress主题/皮肤 - liessay - 博客园 (cnblogs.com)
③DevExpress Skins<2> - 杜金锋 - 博客园 (cnblogs.com)
DevExpress中动态设置主题、皮肤相关推荐
- Activity动态设置主题
Activity动态设置主题 android:theme 与 setTheme()设置透明效果并不同 一.在Manifest中设置主题 1.设置Application的主题在中添加android:th ...
- 微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法
微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法 参考文章: (1)微信小程序首页index.js获取不到app.js中动态设置的globalDat ...
- Quartz在Spring中动态设置cronExpression
什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文 ...
- Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)
2019独角兽企业重金招聘Python工程师标准>>> 什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改 ...
- 代码中动态设置view或布局的宽高
有时我们需要在应用中动态改变图片或某一块布局的大小.这就不能用XML文件写成固定值,而需要在java代码中动态设置.效果如下: 网上有一些教程使用relativeView.setLayoutParam ...
- vue修改meta值_vue中动态设置meta标签和title标签的方法
vue中动态设置meta标签和title标签的方法 因为和原生的交互是需要h5这边来提供meta标签的来是来判断要不要显示分享按钮,所有就需要手动设置meta标签,标题和内容 //router内的设置 ...
- android 动态设边距,在代码中动态设置页边距 - android
我有一个只包含ScrollView和TableLayout的活动.在我的代码我加入tablerows,一切工作正常,除了利润 - 它不工作(没有任何反应),下面是代码:在代码中动态设置页边距 - an ...
- android 设置 linearlayout 高度,在RelativeLayout中动态设置LinearLayout高度/宽度
我在RelativeLayout中有一个linearLayout.我需要能够根据屏幕尺寸动态设置线性布局的高度.我有一些困难. 我怎么能做到这一点?在RelativeLayout中动态设置Linear ...
- jsp select初始化赋值_分别在javascript和JSP中动态设置下拉列表默认值
一.JavaScript中动态设置select标签中选项的默认值: 比如,要完成下边这个下拉列表的动态显示,并且当进行前后翻页时,下拉列表中的值自动更新为当前页码: 图1 jsp部分代码如下: 图2 ...
最新文章
- 数据表示字面量整型字面量
- mysql查询总结_mysql查询总结相关
- Shorten command line 解决方案
- SQL Server数据库自增字段正确的插入值的描述
- 浅谈c语言中的字符串
- Java临时缓存API –测试早期草案评审RI
- 重磅:服务器基础知识全解终极版(145页PPT)
- Linux学习总结(65)——Linux 服务器安全强化的七个步骤
- 本机与服务器、镜像机之间文件互传
- 转:有时间看看算法书
- 【Oracle】解决问题:pl/sql developer 小钥匙图标下拉框中oracle连接串不加粗显示
- Win10系统如何在Word中添加新字体
- 去摆摊吧,落魄的Java程序员
- 牛客 NC24858 [USACO 2009 Nov S]Job Hunt
- 联想笔记本linux不能启动无线网卡解决方法
- 推荐一些学习类APP
- Visio绘制论文文献技术路线图流程图
- FPGA概念理解之:ZYNQ、PS、PL、APU、ARM、SOC、URAT、GPIO...
- 使用easyexcel快速导出xlsx表格(简洁、高效、易懂)
- IDEA 设置保存时自动格式化代码 - 英文界面
热门文章
- 博达:经营管理再升级,从选对CRM开始
- 关于win10主机共享打印机,其他主机连接不上的解决方法①
- CentOS7 安装ClamAV 进行病毒扫描查杀
- 追星必备神器 -- 爱豆APP
- ThinkPad E40 XP 安装SATA/AHCI驱动
- MHT: Basic Methods for Data Association(三)Gating
- 2022-2028全球与中国夹层升降机市场现状及未来发展趋势
- 2022-2028年全球植入前基因检测收入年复合增长率CAGR为 5.6%
- 《MEMDOG:一种基于 Linux 的在线内存检测器》
- hdf5格式的matlab读写操作