
移除 DevExpress 的 XtraForm 标题文字阴影
发布日期:2021-05-09 05:29:07
浏览次数:10
分类:博客文章
本文共 858 字,大约阅读时间需要 2 分钟。
问题
在使用 DevExpress 开发 WinForm 程序时,我是使用的默认皮肤进行开发。但客户要求标题栏背景色改为蓝色,标题文字颜色改为白色。
改颜色比较简单,参考了 的说明,通过获取皮肤更改 BackColor
和 ForeColor
就可以实现。不过更改之后,发现在低分屏下面,标题文字出现模糊的情况。
原因
初步猜想应该是文字阴影的问题,但搜索了大部分资料没有找到解决方案,最后在 的这篇文章看到了自定义 FormPainter
。起初我认为是重载 DrawText()
解决,不过没有找到相关的参数,之后发现它有一个 DrawTextShadow()
方法,应该就是它了。
解决
解决方法很简单,就是重写 DrawTextShadow()
方法,将其作为一个空方法就行了,不做任何阴影处理。
public class ReplaceFontFormPainter : FormPainter{ public ReplaceFontFormPainter(Control owner, ISkinProvider provider) : base(owner, provider) { } // 不再绘制标题文字阴影。 protected override void DrawTextShadow(GraphicsCache cache, AppearanceObject appearance, Rectangle bounds) { }}
来到你需要更改的窗体,重载窗体的 CreateFormBorderPainter()
方法,使用你自己创建的 FormPainter
。
public partial class MainForm : XtraForm{ protected override FormPainter CreateFormBorderPainter() => new ReplaceFontFormPainter(this, LookAndFeel);}
最后的效果:
发表评论
最新留言
不错!
[***.144.177.141]2025年04月21日 04时51分36秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python中字符串前添加r ,b, u, f前缀的含义
2021-05-09
zookeeper安装部署步骤
2021-05-09
Linux I/O 重定向
2021-05-09
Hadoop学习笔记—Yarn
2021-05-09
误差计算
2021-05-09
对象的绑定方法
2021-05-09
__format__
2021-05-09
元类(metaclass)
2021-05-09
大白话OSI七层协议
2021-05-09
Python深浅拷贝
2021-05-09
使用线程的场景
2021-05-09
十天快速入门Python(目录)
2021-05-09
008 Python基本语法元素小结
2021-05-09
026 模块3-random库的使用
2021-05-09
027 实例6-圆周率的计算
2021-05-09
决策树算法原理(下)
2021-05-09
小白专场-树的同构-python语言实现
2021-05-09
小白专场-FileTransfer-python语言实现
2021-05-09
191006
2021-05-09
08-03 细分构建机器学习应用程序的流程-流程简介
2021-05-09