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.1\Components\Bin\Framework
DevExpress.BonusSkins.v14.1.dll
DevExpress.Utils.v14.1.dll
DevExpress.Utils.v14.1.dll
当然如果你想再任意窗口突然用上玻璃效果,可以在窗口初始化前添加代码:
SkinManager.DisableFormSkins();
经测试:
(1)如果在Program文件Application.Run之前设置取消玻璃效果,那么所有窗体都将取消玻璃效果;
(2)如果父窗体设置了取消玻璃效果,那么其子窗体也会取消玻璃效果;
(3)如果父窗体没有取消玻璃效果,子窗体也可以设置取消玻璃效果,并有效;
作者:我也是个傻瓜
出处:http://www.cnblogs.com/liweis/
签名:成熟是一种明亮而不刺眼的光辉。