原生 .NET 控件雖然開發效率高,但預設外觀單調,難以滿足商業軟體對品牌識別與使用者體驗的要求。雖然市面上有 ComponentOne、Infragistics 等第三方套件,但學習成本高、授權費貴,且部分控件在設計器支援度不足。本文展示一套輕量級換膚機制,讓您以最小成本實現專業視覺效果。
SkinnedButton、SkinnedTextBox 等衍生類,覆寫 OnPaint。SkinTheme 類別封裝顏色、圓角、字體、圖片資源。SkinManager.CurrentTheme 統一管理,變更後呼叫 Invalidate() 即時生效。TypeConverter 讓主題屬性在屬性視窗可視化編輯。GraphicsPath 繪製圓角矩形、邊框高光。ImageAttributes 實現九宮格縮放,避免邊框變形。AutoScaleMode.Dpi)。完整原始碼與範例專案可從文末下載連結取得,歡迎二次開發並分享成果。