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系统提供了很多系统默认的风格和主题,但是很多情况下,这些不能满足我们的需 ...
随机推荐
- 带你走进php大马的结构模块编写之路
本文原创作者:Laimooc 第一部分:前沿综述 本次我主要写了[文件的创建].[文件的删除].[文件的上传].[目录浏览].[命令执行]小模块,以及[组合的目录浏览和文件删除功能]的模块: 实验环境 ...
- 图片后门恶意捆绑工具FackImageexploer
本文作者:夜莺 今天向大家提个醒,最近有一款工具名叫FackImageexploer,该工具能够将恶意的.bat和.exe程序与图片绑定在一起,假若受害者点击了图片,就会反弹个shell给不法分子,如 ...
- Elasticsearch地理位置总结
更多内容请参考 : https://www.felayman.com 翻译版本:https://es.xiaoleilu.com/310_Geopoints/00_Intro.html 官方原文:ht ...
- Flask从入门到精通之自定义错误界面
如果你在浏览器的地址栏中输入了不可用的路由,那么会显示一个状态码为404 的错误页面.现在这个错误页面太简陋.平庸,而且样式和使用了Bootstrap 的页面不一致. 像常规路由一样,Flask 允许 ...
- java基本语法一
1 关键字和保留字 1.1 关键字 关键字的定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词). 关键字的特点:关键字中的所有字母都是小写. 1.2 保留字 java保留字:现有Java ...
- 马哥Python 开发9期
LVS工作模式: 传输层 会话保持:负载均衡(1) session sticky:同一用户调度固定服务器Source IP:LVS sh算法(对某一特定服务而言)Cookie(2) session r ...
- 利用wget配合bash脚本同时下载多个文件
先把需要下载的文件写入到一个文件中,命名为urls.txt,比如: http://blog.is36.com/a.jpg http://blog.is36.com/b.jpg http://blog. ...
- 转载 linux umount 时出现device is busy 的处理方法--fuser
http://www.cnblogs.com/spicy/p/6894333.html (原文链接) 当任何目录有 mount, 然后有程序使用/挂在那个目录上的话, 就没有办法 umount 掉, ...
- SearchView去掉下划线
SearchView calSearchView = (SearchView) findViewById(R.id.sv_search_text); if (calSearchView != null ...
- java 实现 HTTP请求(GET、POST)的方法
使用Java进行服务调用时,避免不了要使用模拟HTTP请求来实现模拟,我在开发过程中恰巧遇到了这类的业务需求,所以就对这类的方法进行了一次总结,原理层次的东西暂时不考虑,毕竟HTTP的底层实现啥的,东 ...