DotNetBar的使用—(界面风格)
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的使用—(界面风格)的更多相关文章
- 13款经典BI项目报表&界面风格设计方案
说明 1.方案取自报表开发工具FineReport案例的配色方案 2.所有设计方案图中已标注了字体.颜色与间隔距离等,可直接调用. 报表&界面风格设计方案展示 灰蓝界面 绿色与金色 蓝绿清新风 ...
- Skin++ 皮肤库 CCheckListBox MFC 界面风格
今天使用CCheckListBox,发现增加进去的字符串无法显示,但是当点击的时候,确有反应. 仔细检查代码,没有问题.之前也是这样用的,完全没有问题. 思前想后,觉得是因为使用了Skin++皮肤库, ...
- (转)MFC界面风格
以前在XP写的程序,现在系统换成了WIN7,现在对话框在编辑和预览的时候显示都如图一所示,可实际编译生成之后的显示却如图二所示,是什么问题?如何设置两者的显示风格使其保持一致? ----------- ...
- 咏南CS开发框架新的界面风格
咏南CS开发框架新的界面风格 这种风格完全和WINDOWS桌面一样,符合用户的操作习惯. 我的桌面的图标和WINDOWS桌面一样分为二类:1)快捷方式 2)文件夹. 如果快捷方式较多,看得人眼花缭乱 ...
- Pyqt4 360界面风格皮肤实现
前言 最近用Pyqt做了软件界面,始终觉得windows风格不太好看,虽然数字公司的行为有争议,但是也不影响我欣赏360卫士的界面风格. 声明 首先声明,此项工作并非原创,而是基于这位zhuyeqin ...
- Qt - 设置程序界面风格(现成的QMacStyle等等)
类的继承关系: QMotifStyle:OSF(开放基金协会)开发的一个工业标准的GUI(图形用户接口): QCDEStyle:公共桌面环境(Common Desktop Environment)的缩 ...
- 更换JAVA程序的界面风格
/*这个程序主要更换JAVA的界面风格的 * 后两个Mac,CTK风格要在相关的操作系统上才能实现 */import java.awt.*;import javax.swing.*;import ja ...
- 【JAVA】SWING_ 界面风格
在java中,界面外观的管理是由UIManager类来管理的.不同的系统上安装的外观不一样 ,默认的是java的跨平台外观. 1.获取系统所有外观 import javax.swing.*; impo ...
- Android开发学习之 定制界面风格
统一的用户界面是可以使得应用程序更友好.要做到用户界面的统一,我们就必须用到风格(style)和主题(theme).OPhone系统提供了很多系统默认的风格和主题,但是很多情况下,这些不能满足我们的需 ...
随机推荐
- 面向 B 端的产品经理
简评:越来越多人涌入产品经理这个岗位,但是面对不同的产品和客户群体,产品经理所需要的技能.知识和经验可能大相庭径. 近几年随着移动互联网的爆发性增长,几乎遍地都是产品经理了.华尔街日报 也曾报道称「产 ...
- SnapKit 类图
 如图上图所示,居于中心的是ConstraintDescription,它用来生成Constraint,最后再转换成系统的NSLayoutConstraint. ConstraintDescript ...
- iOS多线程---NSOperation介绍和使用
1. NSOperation实现多线程编程,需要和NSOperationQueue一起使用. (1)先将要执行的操作封装到NSOperation中 (2)将NSOperation对象添加到NSOpe ...
- [题解]luogu P4116 Qtree3
终于来到了Qtree3, 其实这是Qtree系列中最简单的一道题,并不需要线段树, 只要树链剖分的一点思想就吼了. 对于树链剖分剖出来的每一根重链,在重链上维护一个Set就好了, 每一个Set里存的都 ...
- 使用python+selenium对web进行自动化测试
想用python代码,对web网页进行自动化测试 web自动化测试和手动测试的区别: 手动测试:通过手动去对网页的功能进行点点点 web自动化:可以通过代码,自动对网页点点点 首先,将python+s ...
- PHP查找与搜索数组元素
in_array()函数 in_array()函数在一个数组汇总搜索一个特定值,如果找到这个值返回true,否则返回false.其形式如下: boolean in_array(mixed needle ...
- webpack使用来打包前端代码
使用webpack打包js文件(隔行变色案例) 1.webpack安装的两种方式 运行npm i webpack -g全局安装webpack,这样就能在全局使用webpack的命令 在项目根目录中运行 ...
- 《Android应用性能优化》1——代码
1.Java代码优化 1.1 代码执行 通常情况下,不必看应用的字节码.在平台是Android2.2(Froyo)和更高版本的情况下尤其如此,因在Android2.2中引入了实时(JIT)的编译器.D ...
- redis实战笔记(4)-第4章 数据安全与性能保障
本章主要内容 4.1 将数据持久化至硬盘 4.2 将数据复制至其他机器 4.3 处理系统故障 4.4 Redis事务 4.5 非事务型流水线( non-transactional pipeline) ...
- SpringMVC源码阅读:定位Controller
1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码分析,弄清楚Spr ...