DevExpress中透明玻璃效果

Aero玻璃效果

下图左是DevExpress无玻璃效果,图右是Windows自带玻璃效果.

Windows Aero 是从 Windows Vista 开始使用的新型用户界面,透明玻璃感让用户一眼贯穿。"Aero"为四个英文单字的首字母缩略字:Authentic(真实)、Energetic(动感)、Reflective(反射)及Open(开阔)。意为Aero界面是具立体感、令人震撼、具透视感和阔大的用户界面。除了透明的接口外,Windows Aero也包含了实时缩略图、实时动画等窗口特效,吸引用户的目光。Windows 8 RTM中,桌面已抛弃Aero Glass 效果而恢复以往平面式设计,但部分Aero设计,如Aero Snap和透明任务栏仍然保留。

在Win7中玻璃效果固然好看,但自定义程序如果使用了第三方的控件的话,建议就不要再使用这个效果了,反而会觉得不搭(可能是我有强迫症!)

DotNetBar中取消玻璃效果

在DotNetBar中取消设置Form窗体EnableGlass属性为false,并继承DevComponents.DotNetBar.Office2007Form。详细可参考:使用第三方控件DotNetBar来美化程序

DevExpress取消玻璃效果

在DevExpress继承DevExpress.XtraEditors.XtraForm后,窗体属性中没有EnableGlass属性,正确的解决方式是:

添加引用:

using DevExpress.UserSkins;
using DevExpress.Skins;
using DevExpress.LookAndFeel;

在Program文件Application.Run前添加注册应用DevExpress皮肤的代码:

BonusSkins.Register();
SkinManager.EnableFormSkins();
UserLookAndFeel.Default.SetSkinStyle("DevExpress Style");

注意这三个引用(命名空间)对应的动态链接库是安装目录下DevExpress 14.1ComponentsBinFramework

DevExpress.BonusSkins.v14.1.dll

DevExpress.Utils.v14.1.dll

DevExpress.Utils.v14.1.dll

当然如果你想再任意窗口突然用上玻璃效果,可以在窗口初始化前添加代码:

SkinManager.DisableFormSkins();

经测试:

(1)如果在Program文件Application.Run之前设置取消玻璃效果,那么所有窗体都将取消玻璃效果;

(2)如果父窗体设置了取消玻璃效果,那么其子窗体也会取消玻璃效果;

(3)如果父窗体没有取消玻璃效果,子窗体也可以设置取消玻璃效果,并有效;

原文地址:https://www.cnblogs.com/liweis/p/4762272.html