我想通过点击子菜单的选项来切换form的皮肤,可是没法实现(我下的是第三方控件),比如说下面代码,form载入的时候皮肤确实是海洋波浪式的,可是我点击子菜单"钢铁本色"的click事件时,应该皮肤变化了对吧,可是就没变,请大家指教一下。
private void Form1_Load(object sender, EventArgs e)
{
string skin = "Wave.ssk";
this.skinEngine1.SkinFile = skin ; }
private void 钢铁本色ToolStripMenuItem_Click(object sender, EventArgs e)
{ this.skinEngine1.SkinFile = "steelBlack.ssk";
}
private void Form1_Load(object sender, EventArgs e)
{
string skin = "Wave.ssk";
this.skinEngine1.SkinFile = skin ; }
private void 钢铁本色ToolStripMenuItem_Click(object sender, EventArgs e)
{ this.skinEngine1.SkinFile = "steelBlack.ssk";
}
Sunisoft.IrisSkin.SkinEngine skin = new Sunisoft.IrisSkin.SkinEngine();
skin.SkinFile = "Wave.ssk";
skin.Active = true;
public eOffice2007ColorScheme StringToScheme(string str)
{
switch (str)
{
case "Blue":
return eOffice2007ColorScheme.Blue;
case "Black":
return eOffice2007ColorScheme.Black;
case "VistaGlass":
return eOffice2007ColorScheme.VistaGlass;
case "Silver":
return eOffice2007ColorScheme.Silver;
default:
return eOffice2007ColorScheme.Blue;
}
}
private eOffice2007ColorScheme m_BaseColorScheme = PropertyClass.BaseColorScheme;
skin.SkinFile = "RealOne.ssk";
skin.AddForm(this);
建立与form窗体同生命周期皮肤变量
Sunisoft.IrisSkin.SkinEngine skin = new Sunisoft.IrisSkin.SkinEngine();
private void Form1_Load(object sender, EventArgs e)
{
skin.SkinFile = "MSN.ssk";//窗体载入时赋给一个皮肤文件
skin.Active = true;//使其生效
}
另外编写装载皮肤函数。
private void loadSkin(string skinname)
{
skin.SkinFile = skinname;
skin.Active = true;
}
//调用皮肤函数即可切换皮肤了。
private void 海浪之蓝ToolStripMenuItem_Click(object sender, EventArgs e)
{
loadSkin("Wave.ssk");
} private void 蓝钻之光ToolStripMenuItem_Click(object sender, EventArgs e)
{
loadSkin("DiamondBlue.ssk");
}