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)如果父窗體沒有取消玻璃效果,子窗體也可以設置取消玻璃效果,並有效;