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 ...
随机推荐
- thinphp讲解(三)——空操作、空控制器、跨控制器、命名空间
一.“空操作”本质意思:一个对象(控制器)调用本身不存在的操作方法 一般网站处于安全考虑不给用户提示任何错误信息 在tp里面控制器controller.class.php里有个_call()方法 所以 ...
- android模拟器启动没有拨号功能
网上查询了很多资料, 其中一位网友给出的结论是android 4.3模拟器的bug, 如果在通讯录中添加好友,也是可以进行拨号的. 总结: 自认为是SDK安装程序不完整或设置AVD模拟器的时候设置项出 ...
- php 环境的搭建
---恢复内容开始--- 在win7下配置 PHP + Apache + Mysql 环境 1. 准备环境 php: php-5.3.2-Win32-VC6-x86.VC9是专门为IIS定制的,VC6 ...
- [记录]使用openGL显示点云的一个程序
#include <GL/glut.h> #include <stdio.h> #include <iostream> using namespace std; v ...
- linux 压缩文件的命令总结
Linux压缩文件的读取 *.Z compress 程序压缩的档案: *.bz2 bzip2 程序压缩的档案: *.gz gzip 程序压缩的档案: *.tar ...
- Ubuntu 下配置ftp服务端
安装sudo apt-get install pure-ftpdsudo netstat –ano | grep “21”查看21端口是否已开启.完成安装后,就可以用Ubuntu系统的用户名和密码登陆 ...
- RAC例子
我个人非常推崇ReactiveCocoa,它就像中国的太极,太极生两仪,两仪生四象,四象生八卦,八卦生万物.ReactiveCocoa是一个高度抽象的编程框架,它真的很抽象,初看你不知道它是要干嘛的, ...
- 只使用处理I/O的PrintDigit函数,编写一个过程以输出任意实数
#include <stdio.h> #include <stdlib.h> #include <math.h> int printDigit(int a) { p ...
- YTU 3006: 迷宫问题(栈与队列)
3006: 迷宫问题(栈与队列) 时间限制: 1 Sec 内存限制: 128 MB 提交: 3 解决: 1 题目描述 编写一个求解迷宫问题的程序,要求输出迷宫的所有路径,并求最短路径长度及最短路径 ...
- c# 反射列子
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...