Skins
本主题解释如何将DevExpress主题/皮肤应用到应用程序中,如何允许用户在运行时在主题之间切换,如何自定义现有皮肤或创建自己的皮肤,等等。
WinForms订阅包括许多基本控件:按钮、复选框、表单、消息框、对话框、对话框等。
我们实现所有这些控件的一个主要原因是为了支持我们的主题。通过
的开发表达,您可以获得各种各样的外观和一个全面的控制库,以保证整个应用程序的可视化一致性。
要查看可用的主题/皮肤,请打开任何演示应用程序
How to Apply a Skin
Design Time
打开“项目设置”页面,并选择所需的WinForms主题。此页面在中不可用。网络的核心项目。将默认外观和感觉组件放在表单上,并使用其智能标签菜单,或在代码中指定所需的皮肤。
Runtime (In Code)
Call the UserLookAndFeel.SetSkinStyle method
using DevExpress.LookAndFeel;// ...
UserLookAndFeel.Default.SetSkinStyle(SkinStyle.WXI);
How to Enable Bonus or Custom Skins
DevExpress皮肤主要分为两大类:Devess推荐的最新皮肤和存储在单独的库/包中的过时/主题皮肤。
- 当您使用模板库创建项目或将任何控件放到表单上时,现代皮肤立即可用。如果您开始了一个空白项目,则需要添加开发表达。手动使用工具库(或安装DevExpress.Utils NuGet package)。为空白。NET核心(.NET 5)项目,安装DevExpress.Win.Design package.。
- Outdated and thematic skins are stored in the DevExpress.BonusSkins library/NuGet package. These skins must be registered before you can apply them. To register bonus skins, check the corresponding setting on the Project Settings Page, or call the Register method on application startup:
namespace WindowsFormsApplication1 {static class Program {[STAThread]static void Main() {DevExpress.UserSkins.BonusSkins.Register();Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}}
}
After bonus skins are registered, you can apply them in the same manner you apply standard skins.
using DevExpress.LookAndFeel;UserLookAndFeel.Default.SetSkinStyle(SkinStyle.Pumpkin);
How to Let Users Select Skins at Runtime
DevExpress WinForms订阅包括多个现成的栏项,允许您的用户在皮肤和皮肤调色板之间切换。您可以将这些项目添加到“工具栏窗体”和“流畅设计窗体”的工具栏、功能区和标题栏中。

下面的代码将皮肤图库选择器添加到“ribbonPageGroup2”组中。
using DevExpress.XtraBars;
// ...
SkinRibbonGalleryBarItem skinGallery = new SkinRibbonGalleryBarItem();
ribbonPageGroup2.ItemLinks.Add(skinGallery);
注意,如果您在代码中创建了下拉下载按钮项选择器,您需要调用初始下拉下载图片库方法来初始化此选择器的下拉列表。
using DevExpress.XtraBars;
using DevExpress.XtraBars.Helpers;
// Add the selector next to the standard "Close", "Maximize", and "Minimize"
// buttons of the Toolbar Form
SkinDropDownButtonItem skinSelector = new SkinDropDownButtonItem();
SkinHelper.InitDropDownSkinGallery(skinSelector);
skinSelector.Alignment = BarItemLinkAlignment.Right;
this.toolbarFormControl1.TitleItemLinks.Add(skinSelector);
若要重命名和/或更改这些标准皮肤选择器的项的图标,请处理皮肤帮助程序。创建SkinHelper.CreateGalleryItem 事件。
using DevExpress.XtraBars;
using DevExpress.XtraBars.Helpers;SkinHelper.CreateGalleryItem += (s, e) => {if (e.ItemName.Equals("DevExpress Style")) {e.GalleryItem.Image = e.UseLargeIcons ? MyCustomLargeIcon : MyCustomSmallIcon;e.GalleryItem.HoverImage = MyCustomLargeIcon;e.GalleryItem.Caption = "Moonlight";}
};
Skin Palettes
DevExpressWinForms皮肤可以在UI元素上绘制光栅或矢量图像。光栅蒙皮只有一个默认外观,而每个矢量蒙皮都附带一组选项板(样例)。用户可以选择调色板来修改当前皮肤的配色方案。下图显示了“Bezier”矢量皮肤附带的一些调色板。

可以使用与指定蒙皮相同的方式应用调色板:打开“ Project Settings Page”页面或调用 SetSkinStyle(SkinSvgPalette)重载。
using DevExpress.LookAndFeel;
// ...
UserLookAndFeel.Default.SetSkinStyle(SkinSvgPalette.Bezier.Tokyo);
相关文章:
Skins
本主题解释如何将DevExpress主题/皮肤应用到应用程序中,如何允许用户在运行时在主题之间切换,如何自定义现有皮肤或创建自己的皮肤,等等。 WinForms订阅包括许多基本控件:按钮、复选框、表单、消息框、对话框、对话框等。 我们实现…...
【Meetup】探索Apache SeaTunnel的二次开发与实战案例
在数据科技快速演进的今天,业务场景的复杂化和数据量的激增,推动了大数据技术的迅速发展,在众多开源大数据处理工具中,Apache SeaTunnel以其强大的数据集成能力,成为众多企业的首选。 但随着应用深入,企业面…...
嵌入式Linux系统中RTC应用的操作详解
第一:RTC的作用以及时间简介 “RTC”的英文全称是Reul-Time Clock,翻译过来是实时时钟芯片.实时时钟芯片是日常生活中应用最为广泛的电子器件之一,它为人们或者电子系统提供精确的实时时间,实时时钟芯片通过引脚对外提供时间读写接口,通常内部带有电池,保证在外部系统关…...
Edge 工作区是什么?它都有哪些作用?
什么是工作区 Edge 工作区是什么?它是微软 Edge 浏览器中的一个功能,在帮助用户更好地组织和管理他们的浏览会话。通过工作区,用户可以创建多个独立的浏览环境,每个工作区内包含一组相关的标签页和浏览器设置。这使得用户能够根据…...
Docker|了解容器镜像层(1)
引言 容器非常神奇。它们允许简单的进程表现得像虚拟机。在这种优雅的底层是一组模式和实践,最终使一切运作起来。在设计的根本是层。层是存储和分发容器化文件系统内容的基本方式。这种设计既出人意料地简单,同时又非常强大。在今天的帖子[1]中…...
vue3设置全局变量并获取 全局响应式变量 窗口大小
设置 js文件统一管理全局变量 方法1 app provide() 全局提供变量 通过inject()使用 方法2 app实例配置全局变量 获取 通过 getCurrentInstance.appContext.config.globalProperties.$innerWidth访问到 code import { ref } from vue export const useGlobalState () > {c…...
Java——面向对象进阶(一)
前言 面向对象进阶(一):static,继承,this和super关键字 文章目录 一、static1.1 静态变量1.2 静态方法1.3 静态变量和静态方法在内存中 二、继承2.1 概念2.2 继承的特点和能继承什么2.3 继承中的重写2.4 this和super关键字 一、static 在 Jav…...
JDBC是什么?它如何工作?
一、JDBC概述 JDBC(Java Database Connectivity)是Java语言与数据库之间进行交互的API。它允许Java程序通过SQL(结构化查询语言)来执行各种数据库操作,如查询、更新、删除等。JDBC是Java应用程序访问数据库的标准方式…...
Qt:QDialogButtonBox的使用
QDialogButtonBox是Qt自带的按钮箱,通过枚举QDialogButtonBox::ButtonRole可以添加Qt定义按钮,或者通过方法QDialogButtonBox::addButton添加自定义的按钮。 // 自定义按钮。 button_box_ new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonB…...
38页 | 工商银行大数据平台助力全行数字化转型之路(免费下载)
【1】关注本公众号,转发当前文章到微信朋友圈 【2】私信发送 工商银行大数据平台 【3】获取本方案PDF下载链接,直接下载即可。 如需下载本方案PPT/WORD原格式,请加入微信扫描以下方案驿站知识星球,获取上万份PPT/WORD解决方案&a…...
【Git】如何不管本地文件,强制git pull
要在 Git 中强制执行 git pull 操作,忽略本地文件的更改,可以按照以下步骤操作: 保存当前工作状态:如果你有未提交的更改,可以使用 git stash 将这些更改存储起来。 git stash强制拉取最新代码:使用 git re…...
MySQL 高级 - 第十一章 | 索引优化与查询优化
目录 第十一章 索引优化与查询优化11.1 数据准备11.2 索引失效案例11.2.1 全值匹配10.2.2 最佳左前缀法则10.2.3 主键插入顺序10.2.4 计算、函数、类型转换(自动或手动)导致索引失效10.2.5 范围条件右边的列索引失效10.2.6 不等于(! 或者 <…...
工厂模式——工厂方法模式+注册表
工厂方法模式的瑕疵 在前一篇笔记中我们介绍了工厂方法模式,示例的类图如下: 考虑一种情况:现在要在程序运行时,根据外部资源,动态的实例化对象。也就是说在编译期我们无法知道要实例化的对象的类型。因此在实例化的过…...
实验一、网络传输介质————双绞线 《计算机网络》
蝙蝠身上长鸡毛,忘了自己是什么鸟。 目录 一、实验目的 二、实验内容 1.双绞线的原理以及分类 2.了解双绞线的性质、结构与特性 3.掌握双绞线的制作方法 4.了解双绞线的材质 5.了解双绞线的发展趋势 三、实验小结 一、实验目的 1.双绞线的原理以及分类 2.了…...
在Linux/Ubuntu/Debian中使用lshw查看系统信息
在Linux/Ubuntu/Debian中使用lshw查看系统信息 lshw 是一个用于显示硬件配置的命令,可以提供系统硬件的详细信息,包括 CPU、内存、硬盘、主板等。该命令需要超级用户权限来获取详细信息。 常见用法: 显示所有硬件信息: sudo l…...
提高篇(八):扩展Processing功能:从库使用到跨平台应用
提高篇(八):扩展Processing功能:从库使用到跨平台应用 引言 Processing是一款强大的创意编程工具,广泛应用于艺术、设计和教育等领域。但其真正的魅力在于其可扩展性:你可以通过使用各种扩展库、结合其他编程语言、在不同硬件平台上应用,甚至创建自己的扩展库来丰富Pro…...
ubuntu18.04环境下,arduino ide在打开串口监视器时报错
ubuntu18.04环境下,arduino ide在打开串口监视器时报错 Exception in thread “AWT-EventQueue-0” java.lang.UnsatisfiedLinkError: /home/lzx/.jssc/linux/libjSSC-2.8_x86_64.so: /home/lzx/.jssc/linux/libjSSC-2.8_x86_64.so: file too short 这个错误表明 li…...
码蹄集部分题目(2024OJ赛18期;并查集+ST表+贪心)
1🐋🐋史莱姆融合(钻石;并查集) 时间限制:1秒 占用内存:128M 🐟题目描述 🐟题目思路 这道题目使用并查集,同一集合的所有元素的最顶上的祖父节点是统一的。…...
算法:前缀和题目练习
目录 题目一:一维前缀和[模版] 题目二:二维前缀和[模版] 题目三:寻找数组的中心下标 题目四:除自身以外数组的乘积 题目五:和为K的子数组 题目六:和可被K整除的子数组 题目七:连续数组 题…...
记录项目使用ts时引入js文件后导致项目运行空白问题
主要原因: 使用ts后开启了eslint检测,而js压缩文件引入的位置在eslint检测的文件内。导致eslint检测认为该文件为很大的文件,或eslint认为此文件内存在无法处理的语法结构等问题。 解决方法: 1、把文件移到eslint检测外的文件引入…...
架构范式转移:DeepSeek-Coder-V2如何重构企业级代码智能的ROI模型
架构范式转移:DeepSeek-Coder-V2如何重构企业级代码智能的ROI模型 【免费下载链接】DeepSeek-Coder-V2 DeepSeek-Coder-V2: Breaking the Barrier of Closed-Source Models in Code Intelligence 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-Code…...
基于YOLOv11与Moondream VLM的本地化实时鸟类检测识别系统实践
1. 项目概述:打造一个本地化的实时鸟类观测站 如果你和我一样,喜欢在自家后院、阳台或者喂食器旁观察鸟类,但又不想一直守在窗边,或者希望记录下那些稍纵即逝的访客,那么这个项目可能就是为你准备的。我最近基于 YOLO…...
CentOS 8系统下EMQX 4.3.8安装避坑实录:解决crypto和libncurses依赖报错
CentOS 8系统下EMQX 4.3.8深度部署指南:从依赖解析到高可用架构 在物联网和边缘计算领域,MQTT协议凭借其轻量级和高效性已成为设备通信的事实标准。而EMQX作为基于Erlang/OTP平台开发的开源MQTT消息服务器,其单节点支持200万连接的能力使其成…...
2026年AI Agent工具淘汰预警:这7个已停止维护/降级为社区版/终止Python 3.12支持的工具请立即停用
更多请点击: https://kaifayun.com 第一章:2026年最佳AI Agent工具推荐 随着多模态推理、自主记忆与跨平台协同能力的成熟,2026年的AI Agent已从实验原型迈入生产级应用阶段。主流工具普遍支持RAG增强、动态工具调用(Tool Calli…...
2025年项目管理工具TOP10:Gitee引领技术驱动新浪潮
1.Gitee(码云):代码与管理的双核引擎 作为中国最大的代码托管平台,Gitee在2025年全面升级项目管理模块,成为技术团队的首选工具。其核心优势在于: 开发与协作无缝衔接:代码提交直接关联任务看板…...
物联网安全认证:X.509证书的局限与替代方案实战解析
1. 项目概述:当X.509证书认证在IoT安全中“失灵”的深度剖析几年前,一份在DEFCON大会上披露的论文揭示了一个令人震惊的事实:互联网上存在大量未受保护的MQTT代理服务器。这些“门户大开”的代理,结合MQTT协议本身允许使用通配符订…...
OpenClaw:重新定义 AI 智能体,从对话到执行的全能 “龙虾
在 AI 技术飞速迭代的今天,大语言模型已能流畅对话、生成内容,但多数仍停留在 “只说不做” 的层面。OpenClaw(外号 “龙虾”)的出现,打破了这一僵局 —— 它是一款由奥地利工程师 Peter Steinberger 主导开发…...
C盘空间管理完全指南:从清理到预防,根治飘红
你的C盘是否在不知不觉中已经飘红?在清理文件的路上,你是否曾因误删系统文件而追悔莫及? C盘告急的普遍困境 每当Windows系统运行缓慢,或安装新软件时弹出磁盘空间不足的提示,用户的第一反应往往是查看C盘使用情况。…...
AI辅助开发实战:用Electron+React+TS构建跳台滑雪模拟器
1. 项目概述:一个由AI驱动的滑雪跳台模拟器如果你是一个体育游戏迷,尤其是对冬季项目里的跳台滑雪着迷,同时又对现代前端开发技术栈感兴趣,那么这个名为Sj.Sim Predazzo Edition的开源项目,绝对值得你花时间深入研究。…...
边缘TTS实战:本地部署高质量语音合成与性能优化指南
1. 项目概述:当TTS遇见边缘计算最近在折腾一个需要实时语音合成的项目,发现了一个挺有意思的仓库:travisvn/openai-edge-tts。这名字一看就很有料,把“OpenAI”和“Edge-TTS”这两个词组合在一起,背后指向的是一个非常…...
