DEV界面皮肤
1.添加一个

2.添加引用:

3.添加一个SkinTools类
public class SkinTools
{
/// <summary>
/// 在Program中调用
/// </summary>
public static void InitOtherSkin()
{
//皮肤
DevExpress.UserSkins.BonusSkins.Register();
DevExpress.UserSkins.OfficeSkins.Register();
DevExpress.Skins.SkinManager.EnableFormSkins();
DevExpress.Skins.SkinManager.EnableMdiFormSkins();
} string defaultSkinName;//皮肤 string XMLPath = Application.StartupPath + @"\Config\SystemInfo.xml";//保存有皮肤信息的XML文件
DevExpress.XtraBars.RibbonGalleryBarItem RgbiSkin; public static void InitSkinGallery(DevExpress.XtraBars.RibbonGalleryBarItem rgbiSkin)
{
new SkinTools(rgbiSkin);
} /// <summary>
/// 构造器
/// </summary>
/// <param name="rgbiSkin"></param>
SkinTools(DevExpress.XtraBars.RibbonGalleryBarItem rgbiSkin)
{
InitOtherSkin();//添加皮肤
InitialSkin(rgbiSkin); } /// <summary>
/// 加载皮肤到控件
/// </summary>
/// <param name="RGBISkin"></param>
void InitialSkin(DevExpress.XtraBars.RibbonGalleryBarItem RGBISkin)
{
RgbiSkin = RGBISkin;
SkinHelper.InitSkinGallery(RgbiSkin);
XMLCheckFile(XMLPath);//检查文件
GetXmlSkin();//获取xml主题
UserLookAndFeel.Default.SetSkinStyle(defaultSkinName);//设置主题样式
RgbiSkin.Caption = "主题:" + defaultSkinName; RgbiSkin.GalleryItemClick += rgbiSkin_GalleryItemClick;
} /// <summary>
/// 皮肤改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void rgbiSkin_GalleryItemClick(object sender, DevExpress.XtraBars.Ribbon.GalleryItemClickEventArgs e)
{
try
{ string name = string.Empty;
string caption = string.Empty; if (RgbiSkin.Gallery == null) return;
caption = RgbiSkin.Gallery.GetCheckedItems()[0].Caption;//主题的描述
caption = caption.Replace("主题:", "");
//name = bsiPaintStyle.Manager.PressedLink.Item.Tag.ToString();//主题的名称
RgbiSkin.Caption = "主题:" + caption; System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load("SkinInfo.xml");
System.Xml.XmlNodeList nodelist = doc.SelectSingleNode("SetSkin").ChildNodes;
foreach (System.Xml.XmlNode node in nodelist)
{
System.Xml.XmlElement xe = (System.Xml.XmlElement)node;//将子节点类型转换为XmlElement类型
if (xe.Name == "Skinstring")
{
xe.InnerText = caption;
}
} doc.Save(XMLPath);
}
catch (Exception ex)
{
DevExpress.XtraEditors.XtraMessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
} /// <summary>
/// 获得皮肤
/// </summary>
void GetXmlSkin()
{
try
{
XmlDocument mydoc = new XmlDocument();
mydoc.Load(XMLPath);
System.Xml.XmlNode ressNode = mydoc.SelectSingleNode("SetSkin");
defaultSkinName = ressNode.SelectSingleNode("Skinstring").InnerText; }
catch (Exception ex)
{
DevExpress.XtraEditors.XtraMessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
} public void XMLCheckFile(string filename)
{
try
{
if (System.IO.File.Exists("SkinInfo.xml") == false)
{
//XtraMessageBox.Show("不存在XML");
XMLCreate(filename);
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
} /// <summary>
/// 创建XML文件
/// </summary>
/// <param name="filename">要将文档保存到其中的文件位置</param>
public void XMLCreate(string filename)
{
XmlDocument doc = new XmlDocument();
//建立xml定义声明
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
doc.AppendChild(dec); //创建根节点
XmlElement root = doc.CreateElement("SetSkin");
XmlElement rootone = doc.CreateElement("Skinstring");//皮肤 //Application.StartupPath + @"\Config\SystemInfo.xml"
//将one,two,插入到root节点下
doc.AppendChild(root);
root.AppendChild(rootone);
doc.Save(filename);
}
}
4.窗体Load事件中添加
SkinTools.InitSkinGallery(ribbonGalleryBarItem1);//加载皮肤
5.启动目录下的XML文件SkinInfo.xml
<?xml version="1.0" encoding="utf-8"?>
<SetSkin>
<Skinstring>Summer</Skinstring>
</SetSkin>
DEV界面皮肤的更多相关文章
- winform / Dev全局皮肤组件
话不多说先上效果图. 由于这是单独的测试项目, 用于演示Dev控件的皮肤样式, 所以上面只是演示了部分控件的效果. 下面则是一些实际项目中的截图: Dev的控件样式不仅美观丰富, 上面仅皮肤设置就有4 ...
- [置顶] VC++界面编程之--使用分层窗口实现界面皮肤
使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...
- VC++界面编程之--使用分层窗口实现界面皮肤
使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...
- 在Winform框架界面中改变并存储界面皮肤样式
在本篇介绍的Winform界面样式改变及存储操作中,是指基于DevExpress进行界面样式的变化.一般情况下,默认我们会为客户提供多种DevExpress的界面皮肤以供个人喜好选择,默认DevExp ...
- atitit。gui 界面皮肤以及换肤总结 java .net c++
atitit.gui 界面皮肤以及换肤总结 java .net c++ 1. Swing 的皮肤 1 1.1. windows风格 1 1.2. Mac风格 ( liquid 框架) 1 2. 如何给 ...
- DEV开发之界面皮肤
最终效果:正文本人的环境是 VS2013+DEV 13.21.第一步,新建项目,(忽略)???2.修改Form1.cs的基类,Form修改为DevExpress.XtraBars.Ribbon.Rib ...
- jquery-easyui界面皮肤设计
发现easy-ui 没有皮肤切换功能 正好工作要用就做了个 分享给大家 暂时做了绿色.橘黄.灰黑.蓝色.红色这5种颜色,大家也可以参照的多做几套更漂亮一点的! demo.rar (932.1 KB)
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面如何修改界面皮肤
切换到视图管理器,然后可以切换皮肤,会有预览效果 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: ...
- c++界面设计皮肤工具
1. 先进行软件界面设计,确定软件界面美术包装方案 2. 依据软件界面美术设计装方案制作对应的图片,图片格式请參见AUDK的帮助文档或皮肤工具SkinTool 的 Demo 3. 打开皮肤工具 Ski ...
随机推荐
- delphi 读取excel 两种方法
http://www.cnblogs.com/ywangzi/archive/2012/09/27/2705894.html 两种方法,一是用ADO连接,问题是Excel文件内容要规则,二是用OLE打 ...
- JSP-06-使用JDBC操作数据库
6.1 使用JDBC查询数据 [链接oracle数据库] 具体操作: 1) 将odbc文件拷贝到项目中 Odbc文件所在目录: oracle安装目录下- product – db_1 – jdbc ...
- 深入了解webservice_概念总结
最近公司需要对java web端的第三方接口进行测试,使用WebService+TestNG实现,TsetNg是常用的自动化测试框架,这就不介绍了. WebService是一种跨编程语言和跨操作系统平 ...
- 使用sublime text3的一些事
因为在第一次接触网页设计的时候,使用的是Dreamweaver,它的设计是一款所见即所得的网页编辑器,而且当你写好元素之后的“:”时,就会有代码提示功能,对一些初学者来说,是一个不错的选择.但是慢慢地 ...
- Robotium Recorder的初试
一.安装 资料来自官方 Prerequisites: Install the Java JDK. Install the Android SDK. The ADT bundle with Eclips ...
- delphi 与 C++的基本语法区别
[1]“=”符号 (1)“=”作为比较符.但是,当定义const常量时,“=”又表示赋值符号.而“:=”作为赋值符号. (2)“=”只表示赋值符号 [2]结构体 (1)record 作为结构体 (2) ...
- JVM复习笔记
1. JVM是什么? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来 ...
- Erlang-基础篇
一.整数运算: 1.Erlang采用不定长的整数来进行整数的算术演算.在Erlang中,整数运算没有误差,因此无需担心运算溢出,也不用为了一个固定字长容纳不下一个大整数而伤脑筋: 二.变量: 1.所有 ...
- NEON简介【转】
转自:http://blog.csdn.net/fengbingchun/article/details/38020265 版权声明:本文为博主原创文章,未经博主允许不得转载. “ARM Advanc ...
- Oracle 行迁移和行链接
一.行迁移 1.1.行迁移概念 当一个行上的更新操作(原来的数据存在且没有减少)导致当前的数据不能在容纳在当前块,我们需要进行行迁移.一个行迁移意味着整行数据将会移动,仅仅保留的是一个转移地址.因此整 ...