⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skinconfig.cs

📁 语音视频功能 里面实现了基本的QQ与语音对话
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
using System.Xml;
using System.IO;
using Microsoft.Win32;

using gowk.utility;
namespace gowk.common
{
	/// <summary>
	/// SkinConfig 的摘要说明。
	/// </summary>
	public class SkinConfig
	{
		#region static
		const string SkinDirectoryKey=@"skin\skinfile";
		static SkinConfig instance;
		static SkinConfig()
		{
			instance=new SkinConfig();
		}
		public static  SkinConfig Instance
		{
			get{return instance;}
		}
		#endregion
		public event System.EventHandler SkinChanged;
		string skindir;
		XmlDocument xd;
		int hue;
		private SkinConfig()
		{
			this.LoadSkin();
		}
		private void LoadSkin()
		{	
			xd=new XmlDocument();
			xd.Load(System.IO.Path.Combine(this.SkinDirectory,"setting.xml"));
			this.hue=int.Parse(this.GetText("/gowk_skin/hue"));
		}
		public string SkinDirectory
		{
			get
			{
				if(this.skindir==null)
				{
					skindir=(string)gowk.utility.IO.Regestry.GetValue(SkinDirectoryKey);
					if(!System.IO.Directory.Exists(skindir))
					{
						string root=System.Environment.CurrentDirectory;
						skindir=System.IO.Path.Combine(root,@"skins\default");
						gowk.utility.IO.Regestry.SetValue(SkinDirectoryKey,skindir);
					}		
				}
				return skindir;
			}
			set
			{
				if(skindir==value)return;
				if(System.IO.Directory.Exists(value))
				{
					this.skindir=value;
					gowk.utility.IO.Regestry.SetValue(SkinDirectoryKey,skindir);
					if(this.SkinChanged!=null)this.SkinChanged(this,System.EventArgs.Empty);
				}		
				else
				{
					throw(new System.IO.FileNotFoundException("不能加载皮肤目录"));
				}
			}
		}

		public string GetText(string cfg)
		{
		//	XmlNode xn=this.xd.SelectSingleNode("gowk_skin");

			XmlNode nd=this.xd.SelectSingleNode(cfg);
			if(xd==null)return null;
			else return nd.InnerText;
		}
		public string GetPath(string cfg)
		{
			return Path.Combine(this.skindir,this.GetText(cfg));
		}
		
		public Icon GetIcon(string cfg)
		{
			try
			{
				string file=this.GetPath(cfg);
				if(!File.Exists(file))return null;
				return new Icon(cfg);
			}
			catch(System.IO.IOException ie)
			{
				gowk.utility.Diagnostics.Debug.Write(ie);
				return null;
			}
		}
		public Image GetImage(string cfg)
		{
			try
			{
				string file=this.GetPath(cfg);
				if(!File.Exists(file))return null;
				Image i=Image.FromFile(file);return i;
			//	if(Image.IsAlphaPixelFormat(i.PixelFormat))return i;
			//	Bitmap img=gowk.common.Util.GetImage(i,this.hue);	
			//	return img;
			}
			catch(System.IO.IOException ie)
			{
				gowk.utility.Diagnostics.Debug.Write(ie);
				return null;
			}
		}
		public XmlDocument XmlDocument
		{
			get{return this.xd;}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -