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的界面沒有常規界面那么穩定。
這里提示例源代碼下載,下載鏈接:戳我