/// <summary>
/// 增加换肤菜单
/// </summary>
/// <param name= "toolMenu "> </param>
public void AddSkinMenu(ToolStripMenuItem toolMenu)
{
DataSet skin = new DataSet();
try
{
skin.ReadXml("skin.xml ", XmlReadMode.Auto);
}
catch
{
}
if (skin == null || skin.Tables.Count < 1)
{
skin = new DataSet();
skin.Tables.Add("skin ");
skin.Tables["skin "].Columns.Add("style ");
System.Data.DataRow dr = skin.Tables["skin "].NewRow();
dr[0] = "系统默认";
skin.Tables[0].Rows.Add(dr);
skin.WriteXml("skin.xml ", XmlWriteMode.IgnoreSchema);
}
foreach (SkinType st in (SkinType[])System.Enum.GetValues(typeof(SkinType)))
{
toolMenu.DropDownItems.Add(new ToolStripMenuItem(st.ToString()));
toolMenu.DropDownItems[toolMenu.DropDownItems.Count - 1].Click +=
new EventHandler(frm_Main_Click);
if (st.ToString() == skin.Tables[0].Rows[0][0].ToString())
{
((ToolStripMenuItem)toolMenu.DropDownItems[
toolMenu.DropDownItems.Count - 1]).Checked = true;
frm_Main_Click(toolMenu.DropDownItems[
toolMenu.DropDownItems.Count - 1], null);
}
}
toolMenu.DropDownItems.Add(new ToolStripMenuItem("系统默认"));
toolMenu.DropDownItems[toolMenu.DropDownItems.Count - 1].Click +=
new EventHandler(frm_Main_Click);
if (skin.Tables[0].Rows[0][0].ToString() == "系统默认")
{
((ToolStripMenuItem)toolMenu.DropDownItems[toolMenu.DropDownItems.Count -
1]).Checked = true;
}
}
void frm_Main_Click(object sender, EventArgs e)
{
for (int i = 0; i < ((ToolStripMenuItem)(
(ToolStripMenuItem)sender).OwnerItem).DropDownItems.Count; i++)
{
if (((ToolStripMenuItem)sender).Text == ((ToolStripMenuItem)(
(ToolStripMenuItem)sender).OwnerItem).DropDownItems[i].Text)
{
((ToolStripMenuItem)sender).CheckState = CheckState.Checked;
DataSet skin = new DataSet();
skin.Tables.Add("skin ");
skin.Tables["skin "].Columns.Add("style ");
System.Data.DataRow dr = skin.Tables["skin "].NewRow();
dr[0] =
((ToolStripMenuItem)((ToolStripMenuItem)sender).OwnerItem).DropDownItems[i].Text;
skin.Tables[0].Rows.Add(dr);
skin.WriteXml("skin.xml ", XmlWriteMode.IgnoreSchema);
}
else
{
((ToolStripMenuItem)((ToolStripMenuItem)(
(ToolStripMenuItem)sender).OwnerItem).DropDownItems[i]).CheckState =
CheckState.Unchecked;
}
}
if (((ToolStripMenuItem)sender).Text == "系统默认")
{
RemoveSkin();
DataSet skin = new DataSet();
skin.Tables.Add("skin ");
skin.Tables["skin "].Columns.Add("style ");
System.Data.DataRow dr = skin.Tables["skin "].NewRow();
dr[0] = "系统默认";
skin.Tables[0].Rows.Add(dr);
skin.WriteXml("skin.xml ", XmlWriteMode.IgnoreSchema);
return;
}
foreach (SkinType st in (SkinType[])System.Enum.GetValues(typeof(SkinType)))
{
if (st.ToString() == ((ToolStripMenuItem)sender).Text)
{
ChangeSkin(st);
return;
}
}
}
/// <summary>
/// 改变皮肤
/// </summary>
/// <param name= "st "> </param>
public void ChangeSkin(SkinType st)
{
System.Reflection.Assembly thisDll =
System.Reflection.Assembly.GetExecutingAssembly();
//获取程序位置
string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
string SkinFileEx = path + @"\netskins\" + st.ToString() + ".skn";
if (skinUI1 == null)
{
skinUI1 = new SkinUI(SkinFileEx);
skinUI1.Active = true;
}
else
{
skinUI1.LoadSkinFile(SkinFileEx);
skinUI1.Active = true;
}
}
/// <summary>
/// 移除皮肤
/// </summary>
public void RemoveSkin()
{
if (skinUI1 == null)
{
return;
}
else
{
skinUI1.Active = false;
}
}
/// <summary>
/// 换肤类型
/// </summary>
public enum SkinType
{
AddyBlueRazorBLUE,
AncientANCIENT,
AquanoxDEEP,
AquanoxSHALLOW2,
blackBLACK,
BlackMesaNORMAL,
BLWINSEVEN,
ClearLooksBLUE,
ClearLooksHUMAN,
ClearLookSYSTEM,
coronaCORONA12,
DuoPRO,
EarthEARTH,
ElementCLASSIC,
ElementROYAL,
ExtensisCOPPERL,
ExtensisEXTENSIS,
GUIRelaxCUT,
GUIRelaxSKYMAN,
GUIRelaxSUBTLE,
JadeStyleJADEC,
KlarheitERGOCOM,
LE4BLACK,
LE4DEFAULT,
lunaBLUE,
lunaHOMESTEAD,
lunaMETALLIC,
MacOSXBLUE,
MediaCMEDIA1024,
MNSSTANDART,
Office2007,
PlexStyleM6SVRBAR,
PlexStylePLEXM6BAR,
ProGeniusBLUE,
ProLCDPROLCDAC,
pwrmetalX,
RoyaleGlassGRAPHITET,
RoyaleGlassINDIGOT,
Sand,
Sea,
SimpleXpDARKBC,
SimpleXpLIGHTBC,
SimpleXpOLIVE,
SimpleXpREBLUE,
Sky,
SlatePDCSLATEC,
SlatePDCSLATECBT,
SlateXPSLATE,
SlateXPSLATEBT,
SoulunaRemixFinalNORMAL,
TangoXPBLUE,
TangoXPOLIVE,
TangoXPSILVER,
TigerTGR,
TigerTGRB2,
TigerTGRP,
VistaXPVISTAXPB2,
VistaXPVISTAXPS2,
WatercolorBLUE,
WatercolorERGONOMIC,
WatercolorOLIVE,
WatercolorSILVER,
WEErgoBLUEC,
wmpxXMP2,
wmpxXMPX3,
zuneDEFAULT
}
#endregion