You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.0 KiB
138 lines
4.0 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Windows.Forms;
|
|
namespace Customize.Controls
|
|
{
|
|
/// <summary>
|
|
/// 皮肤管理中心:皮肤的编辑,设置,保存等等
|
|
/// </summary>
|
|
internal class SkinManager
|
|
{
|
|
#region private attributes
|
|
|
|
private static SkinTheme _CurrentSkin;
|
|
|
|
private static readonly string SkinSectionName = "SkinManager";
|
|
|
|
private static readonly string CurrentSkinName = "CurrentSkin";
|
|
|
|
#endregion
|
|
|
|
#region Initialize
|
|
|
|
public SkinManager()
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Properties
|
|
|
|
/// <summary>
|
|
/// 当前使用的皮肤
|
|
/// Gets the current skin
|
|
/// </summary>
|
|
/// <value>The current skin.</value>
|
|
public static SkinTheme CurrentSkin
|
|
{
|
|
get
|
|
{
|
|
if (_CurrentSkin == null)
|
|
{
|
|
_CurrentSkin = GetSkinTeme();
|
|
}
|
|
|
|
return _CurrentSkin;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region private methods
|
|
|
|
/// <summary>
|
|
/// 默认皮肤
|
|
/// Gets the default skin teme.
|
|
/// </summary>
|
|
/// <returns>Return a data(or instance) of SkinTheme.</returns>
|
|
private static SkinTheme GetSkinTeme()
|
|
{
|
|
try
|
|
{
|
|
int value;
|
|
|
|
//value = int.TryParse(IniHelper.INIGetStringValue(FileHelper.GetAbsolutePath(@"/Config/ClientCfg.ini"), SkinSectionName, CurrentSkinName, "0"), out value) ? value : 0;
|
|
//EnumTheme theme = value.ToEnumByValue<EnumTheme>();
|
|
//switch (theme)
|
|
//{
|
|
// case EnumTheme.BlueSea:
|
|
// return new SkinThemeBlueSea();
|
|
// case EnumTheme.KissOfAngel:
|
|
// return new SkinThemeKissOfAngel();
|
|
// case EnumTheme.NoFlower:
|
|
// return new SkinThemeNoFlower();
|
|
// case EnumTheme.SunsetRed:
|
|
// return new SkinThemeSunsetRed();
|
|
// case EnumTheme.Default:
|
|
// default:
|
|
// return new SkinThemeDefault();
|
|
//}
|
|
return new SkinThemeDefault();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return new SkinThemeDefault();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设置当前主题皮肤
|
|
/// </summary>
|
|
/// <param name="theme">The theme.</param>
|
|
public static void SettingSkinTeme(EnumTheme theme)
|
|
{
|
|
switch (theme)
|
|
{
|
|
case EnumTheme.BlueSea:
|
|
_CurrentSkin = new SkinThemeBlueSea();
|
|
break;
|
|
case EnumTheme.KissOfAngel:
|
|
_CurrentSkin = new SkinThemeKissOfAngel();
|
|
break;
|
|
case EnumTheme.NoFlower:
|
|
_CurrentSkin = new SkinThemeNoFlower();
|
|
break;
|
|
case EnumTheme.SunsetRed:
|
|
_CurrentSkin = new SkinThemeSunsetRed();
|
|
break;
|
|
case EnumTheme.Default:
|
|
default:
|
|
_CurrentSkin = new SkinThemeDefault();
|
|
break;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 保存配置文件
|
|
/// </summary>
|
|
public static void Save()
|
|
{
|
|
try
|
|
{
|
|
//IniHelper.INIWriteItems(FileHelper.GetAbsolutePath(@"/Config/ClientCfg.ini"), SkinSectionName, string.Format("{0}={1}", CurrentSkinName, ((int)CurrentSkin.ThemeStyle).ToString()));
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(string.Format("保存主题信息出现异常:{0}\n", ex.Message));
|
|
}
|
|
}
|
|
}
|
|
}
|