谁能给我讲讲怎么给程序换肤,用IrisSkin2.dll控件
具体一点,网上的都是08的代码,看不了自己模仿了一个总是不成功,谁能给我稍微讲一讲,谢谢啦 --------------------编程问答-------------------- 嵌入在项目中:
将下载的皮肤文件和IrisSkin2.RAR解压,在项目中添加现有项,将皮肤文件添加进项目;将IrisSkin2.dll引用进项目。皮肤文件属性中的“生成操作”改为嵌入的资源。引用的IrisSkin2.dll属性中的“复制本地”改为True。
在代码中添加枚举:
public enum SkinType
{
Calmness,
DeepCyan,
Eighteen,
Emerald,
GlassBrown,
Longhorn,
MacOS,
Midsummer,
MP10,
MSN,
OneBlue,
Page,
RealOne,
Silver,
SportsBlack,
SteelBlack,
vista1,
Vista2,
Warm,
Wave,
XPSilver
}
添加调用方法:
public static Sunisoft.IrisSkin.SkinEngine se=null;
public static void ChangeSkin(SkinType st)
{
System.Reflection.Assembly thisDll = System.Reflection.Assembly.GetExecutingAssembly();
if (se == null)
{
se = new Sunisoft.IrisSkin.SkinEngine(Application.OpenForms[0], thisDll.GetManifestResourceStream("Alldj.skin." + st.ToString() + ".ssk"));
se.Active = true;
for (int i = 0; i < Application.OpenForms.Count; i++)
{
se.AddForm(Application.OpenForms);
}
}
else
{
se.SkinStream = thisDll.GetManifestResourceStream("Alldj.skin." + st.ToString() + ".ssk");
se.Active = true;
}
}
public static void RemoveSkin()
{
if (se == null)
{
return;
}
else
{
se.Active = false;
}
}
调用ChangeSkin方法换肤,调用RemoveSkin方法恢复系统默认皮肤。
-------------------------------------------------------------------------------------------
另外一种最简单的写法:上面的不用管它
Sunisoft.IrisSkin.SkinEngine skin = new SkinEngine();
skin.SkinFile = "MP10.ssk"; //MP10.ssk是皮肤文件
skin.Active = true; --------------------编程问答-------------------- 谢谢楼上 --------------------编程问答-------------------- 话说楼上给的方法不行啊 --------------------编程问答-------------------- 将皮肤文件保存在资源文件中.
--------------------编程问答-------------------- 还是用skinfeature界面换肤组件吧。比那个IrisSkin2强多了。你下载使用一下
private void SetSkinFile(byte[] bytes)
{
memoryStream = new MemoryStream(bytes);
//设置皮肤可以通过两种方式,一种是指定皮肤文件的位置,
//如skinEngine1.SkinFile=fileName(fileName是皮肤文件.ssk文件的位置)
//一种是指定皮肤文件的文件流,如本程序所示
skinEngine1.SkinStream = memoryStream;
}
public Form1()
{
InitializeComponent();
SetSkinFile(Properties.Resources.ArcticAMP);//ArcticAMP.skn
}
http://www.skinfeature.com --------------------编程问答-------------------- 谢谢各位
补充:.NET技术 , C#