前提:c#語言 winform應用程序 皮膚為IrisSkin2
目標:在打包發布獨立應用 程序時,將皮膚也一起打包發布,實現程序在其它機子安裝時,皮膚效果依然存在。
解決方案:
1.大部分IrisSkin2第三方皮膚控件的應用辦法都是:
在引用---添加引用-----IrisSkin2.dll,將IrisSkin2.dll文件和skin文件(里面都是.ssk的皮膚文件)都放到bin下面的debug文件里,然后在主窗口添加代碼:
Sunisoft.IrisSkin.SkinEngine se = null;(這句代碼添加在主窗口程序的類下面,暨不添加在任何方法中)
(以下幾句添加在主窗口的初始化方法中):
se = new Sunisoft.IrisSkin.SkinEngine();
se.SkinFile = "skin/Sports/SportsGreen.ssk"; // 指定皮膚文件
se.TitleFont = new System.Drawing.Font("微軟雅黑", 10F);// 指定標題
se.SkinAllForm = true; // 這句話是用來設置整個系統下所有窗體都采用這個皮膚
請注意:按照以上方法做了之后,皮膚文件已經可以在本機調試以及安裝時實現,但是發布的獨立安裝程序中確實木有的。
2.按照如下方法,則可以實現在打包發布的獨立程序中也可以實現皮膚。
首先:在引用---添加引用-----IrisSkin2.dll,將IrisSkin2.dll文件和skin文件(里面都是.ssk的皮膚文件)都放到bin下面的debug文件里
然后:在工具箱中右鍵添加選項卡,將IrisSkin2.dll添加進去,則在工具箱中多了一個SkinEngine選項;
下一步:將工具箱中的SkinEngine選項拖拽到你程序的主窗口中去,在你程序的主窗口下方便會出現一個SkinEngine1的圖標;
最后一步:右鍵SkinEngine1圖標設置屬性,在屬性中找到SkinFile,然后選中你需要的.ssk文件。
此時,如果你只需要單一皮膚的話已經OK了!
3.如果你想要你的皮膚多幾種,可以選擇的話,那么再完成上面步驟后(SkinFile中多添加幾個.ssk文件),再添加以下代碼:
this.skinEngine1.ApplyAdditionalBuiltInSkins(index);//將多個皮膚添加到SkinEngine的一個集合屬性(AddtionalBuiltInSkins)里,(index,代表皮膚集合里的索引,從0開始編號)
你已經實現動態換膚了!