XtraForm
DevExpress的皮膚、外觀和感覺以及 Skinning techniques只能應用于DevExpress控件,為了在整個應用程序中實現一致的UI,標準的WinForms對話框、表單和消息框必須被它們的DevExpress對應物所取代。本文專門討論替換默認項目表單的XtraForm。

向項目中添加XtraForm
以XtraForm作為主要表單啟動項目的最快方法是利用UI-ready DevExpress模板庫,所有這些模板都是基于DevExpress表單的,具體來說,基于工具欄的模板和“空白應用程序”模板使用XtraForms。

要添加新的XtraForms,請在Visual Studio的解決方案資源管理器窗口中右鍵單擊項目,然后選擇“Add DevExpress Item | New Item…”,這將調用帶有新項目模板的模板庫,選擇“表單”模板,輸入表單名稱,點擊“添加項目”。

將標準表格轉換為 Xtra表格
要用XtraForms替換現有的默認表單,請調用表單智能標簽并選擇Convert to Skinable Form選項。

要在代碼中做同樣的事情,將表單從 System.Windows.Forms.Form派生的基類更改為DevExpress.XtraEditors.XtraForm,還需要在項目中包含DevExpress.XtraEditors庫。
C# :
using DevExpress.XtraEditors; namespace DXApplication1 { public partial class Form1 : XtraForm { public Form1() { InitializeComponent(); } } }
VB.NET:
Imports DevExpress.XtraEditors Namespace DXApplication1 Partial Public Class Form1 Inherits XtraForm Public Sub New() InitializeComponent() End Sub End Class End Namespace
將皮膚應用到表單標題欄
如果您使用DefaultLookAndFeel組件來為應用程序添加皮膚,那么所需的所有代碼行都將自動添加到Project.cs文件的Main()方法中,在這種情況下,如果不執行任何操作,表單標題欄(以及此表單上的所有控件)將根據活動外觀繪制。
否則,如果您在代碼中應用皮膚,請手動調用靜態SkinManager.EnableFormSkins或SkinManager.EnableMdiFormSkins方法。

C# :
using DevExpress.Skins; // ... SkinManager.EnableFormSkins(); SkinManager.EnableMdiFormSkins();
VB.NET:
Imports DevExpress.Skins; ' ... SkinManager.EnableFormSkins() SkinManager.EnableMdiFormSkins()
發光和陰影效果
XtraForm.FormBorderEffect屬性允許您激活表單的發光或陰影效果。
覆蓋表單的onshow方法,并將FormBorderEffect屬性設置為FormBorderEffect.Shadow來啟用表單陰影,給FormShadow.Opacity屬性賦0到255的字節值,來指定陰影的不透明度。

C# :
public Form1() { InitializeComponent(); this.FormBorderEffect = DevExpress.XtraEditors.FormBorderEffect.Shadow; } // Overrides the 'OnShown' method to specify shadow settings. protected override void OnShown(EventArgs e) { base.OnShown(e); this.FormShadow.Opacity = 120; FormShadow.AllowResizeViaShadows = true; }
VB.NET:
Public Sub New() InitializeComponent() Me.FormBorderEffect = DevExpress.XtraEditors.FormBorderEffect.Shadow End Sub ' Overrides the 'OnShown' method to specify shadow settings. Protected Overrides Sub OnShown(ByVal e As EventArgs) MyBase.OnShown(e) Me.FormShadow.Opacity = 120 FormShadow.AllowResizeViaShadows = True End Sub
當您將 XtraForm.FormBorderEffect屬性設置為 FormBorderEffect.Glow時,表單發光效果被激活,此設置將柔和的光澤應用于表單的邊界。根據表單當前是否處于活動狀態(選中),表單可以顯示兩種顏色,這些顏色被分配給XtraForm.ActiveGlowColor和 XtraForm.InactiveGlowColor屬性。

C# :
public Form1() { InitializeComponent(); this.FormBorderEffect = DevExpress.XtraEditors.FormBorderEffect.Glow; } // Overrides the 'OnShown' method to specify shadow settings. protected override void OnShown(EventArgs e) { base.OnShown(e); this.ActiveGlowColor = Color.Lime; FormShadow.AllowResizeViaShadows = true; }
VB.NET:
Public Sub New() InitializeComponent() Me.FormBorderEffect = DevExpress.XtraEditors.FormBorderEffect.Glow End Sub ' Overrides the 'OnShown' method to specify shadow settings. Protected Overrides Sub OnShown(ByVal e As EventArgs) MyBase.OnShown(e) Me.ActiveGlowColor = Color.Lime FormShadow.AllowResizeViaShadows = True End Sub
增加邊框寬度
啟用WindowsFormsSettings.FormThickBorder或WindowsFormsSettings.MdiFormThickBorder屬性來放大 XtraForms邊框和擴大大小調整區域,注意,這些設置會影響應用程序中的所有 XtraForms和 RibbonForms。

當陰影/輝光效果關閉時,擴大的邊框使用戶更容易調整表單大小,并且默認的表單調整區域太窄。
MDI標題欄說明
如果啟用了XtraForm.ShowMdiChildCaptionInParentTitle選項,子MDI表單標題將與父表單的標題欄合并。下圖展示了一個例子:“document1”字符串顯示在父表單自己的“Form1”標題旁邊。

要更改默認的 “<child_form_caption> - <parent_form_caption>”格式字符串,請使用XtraForm.MdiChildCaptionFormatString財產。