標籤:建構函式 object his tail design images dev black off
本文轉載自:http://www.cnblogs.com/mingjiatang/p/5940826.html
C# WinForm項目中內建的表單風格很普通,一點都不美觀。DotNetBar就是一套.NET美化控制項陳列庫,有70幾個控制項以及多種介面的皮膚風格。關於控制項的效果在官網上進行查看http://www.devcomponents.com/dotnetbar/。下面就來介紹一下如何使用DotNetBar來改變表單的風格。
1.添加DoNetBar的程式集。
DevComponents.DotNetBar.Design.dll 控制項在設計時可見所必要的程式集DevComponents.DotNetBar2.dll 控制項所在的程式集
2.建立一個表單類FrmTest
,並在FrmTest的代碼檔案中添加using DevComponents.DotNetBar;
引用,並把表單的基類Form
更改成Office2007Form
,如下所示:
using DevComponents.DotNetBar;namespace wind{ public partial class FrmTest : Office2007Form { public FrmTest() { InitializeComponent(); } } }
3.開啟FrmTest表單的設計面板就可以發現表單的風格已經變成了office2007 的風格了,如所示。
表單在設計時已經改變其風格了,但是在運行時,表單的風格依然是WinForm內建的表單效果,貌似更改表單的繼承基類不起作用,在網上找了一些資料,發現需要在表單的建構函式的最前面加上下面這樣一句代碼。
public FrmTest() { this.EnableGlass = false;//關鍵, InitializeComponent(); }
這下,表單在運行時,也是office2007的風格。
4.到目前為止,我們已經能夠更改表單的風格了,但是現在還不能為整個項目變換風格,我們需要使用一個StyleManager
來控制整個項目的風格,拖一個StyleManager
控制項到表單上,這樣就把表單和風格管理控制項進行關聯。通過更改StyleManager
控制項的ManagerStyle
屬性就可以實現整個項目的換膚,下面做一個簡單的樣本來示範一下這種效果。
5.介面設計如下:
6.表單代碼如下。
string[] skinNames = { "Office2007Blue", "Office2007Silver", "Office2007Black", "Office2010Silver", "Office2013" }; private void FrmTest_Load(object sender, EventArgs e) { foreach (string skin in skinNames) { this.cmbSkin.Items.Add(skin); } } private void buttonX1_Click(object sender, EventArgs e) { switch (this.cmbSkin.Text) { case "Office2007Blue": this.styleManager1.ManagerStyle = eStyle.Office2007Blue; break; case "Office2007Silver": this.styleManager1.ManagerStyle = eStyle.Office2007Silver; break ; case "Office2007Black": this.styleManager1.ManagerStyle = eStyle.Office2007Black; break; case "Office2010Silver": this.styleManager1.ManagerStyle = eStyle.Office2010Silver; break; case "Office2013": this.styleManager1.ManagerStyle = eStyle.Office2013; break; } }
這下就實現了表單的整體皮膚變換,不僅僅表單的風格變了,還包括表單上的控制項也會發生改變,甚至整個項目的表單以及上面的控制項都會發生改變,下面將示範一下效果。
當然使用DotNetBar的介面沒有常規介面那麼穩定。
這裡提樣本原始碼下載,下載連結:戳我
DotNetBar的使用—(介面風格)