C# WinForm项目中自带的窗体风格很普通,一点都不美观。DotNetBar就是一套.NET美化控件库,有70几个控件以及多种界面的皮肤风格。关于控件的效果在官网上进行查看http://www.devcomponents.com/dotnetbar/。下面就来介绍一下如何使用DotNetBar来改变窗体的风格。c#
1.添加DoNetBar的程序集。函数
DevComponents.DotNetBar.Design.dll 控件在设计时可见所必要的程序集this
DevComponents.DotNetBar2.dll 控件所在的程序集spa
2.创建一个窗体类FrmTest
,并在FrmTest的代码文件中添加using DevComponents.DotNetBar;
引用,并把窗体的基类Form
更改为Office2007Form
,以下所示:.net
using DevComponents.DotNetBar; namespace wind { public partial class FrmTest : Office2007Form { public FrmTest() { InitializeComponent(); } } }
3.打开FrmTest窗体的设计面板就能够发现窗体的风格已经变成了office2007 的风格了,以下图所示。设计
窗体在设计时已经改变其风格了,可是在运行时,窗体的风格依然是WinForm自带的窗体效果,貌似更改窗体的继承基类不起做用,在网上找了一些资料,发现须要在窗体的构造函数的最前面加上下面这样一句代码。3d
public FrmTest() { this.EnableGlass = false;//关键, InitializeComponent(); }
这下,窗体在运行时,也是office2007的风格。code
4.到目前为止,咱们已经可以更改窗体的风格了,可是如今还不能为整个项目变换风格,咱们须要使用一个StyleManager
来控制整个项目的风格,拖一个StyleManager
控件到窗体上,这样就把窗体和风格管理控件进行关联。经过更改StyleManager
控件的ManagerStyle
属性就能够实现整个项目的换肤,下面作一个简单的示例来演示一下这种效果。component
5.界面设计以下:orm
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的界面没有常规界面那么稳定。
这里提示例源代码下载,下载连接:戳我