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.
|
|
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)); } } }}
|