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的界面没有常规界面那么稳定。


©著作权归作者所有:来自51CTO博客作者mb5fd86cce321a9的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 工信部废止四文件,软考证书从此更值钱!--软考专家薛大龙独家解析废
  2. pinpoint通过api批量设置告警
  3. 前谷歌员工爆料:谷歌工程师们是如何合谋“杀死”IE6浏览器的
  4. 微软紧急叫停Windows 10更新,原因非常尴尬
  5. 别了,IE浏览器
  6. 久等了,全球第二大浏览器终于支持这项重要功能!
  7. 最新网络安全指南,2021年你值得收藏的100个好习惯(上)
  8. 从博客时间轴总结这一年
  9. 国际域名争议,仲裁机构VS法院,谁说的算?

随机推荐

  1. [Android实例] 【Kris专题】android 换
  2. Android中常用的Intent启动服务
  3. Android layout xml总结(1)
  4. Android(安卓)滚动事件 OnScrollListener
  5. Android自动化测试之MonkeyRunner录制和
  6. android google map key申请
  7. Android视音频录制实现步骤(Android学习随
  8. android系统移植学习笔记一
  9. android获取应用内自定义权限与权限使用
  10. 一个Demo让你掌握所有的android控件