C# WinForm 换肤
2009-03-06 11:00
267 查看
感谢http://blog.csdn.net/alldj/archive/2007/04/13/1564072.aspx作者提供的方法,让笔者实现了更换皮肤的功能。不过该页面的源程序始终无法下载,所以笔者开始只能复制上面列出的所有代码,然后在VS中运行。程序编译顺利通过,不过运行时出现了System.NullReferenceException的错误,显示IrisSkin2对象为空。于是笔者调试了一下,问题出现在这一句话:
se = new Sunisoft.IrisSkin.SkinEngine(Application.OpenForms[0], thisDll.GetManifestResourceStream("skintest.skin." + st.ToString() + ".ssk"));
"skintest.skin." + st.ToString() + ".ssk"字符串的路径不正确,所以初始化未能成功。仔细研究了一下,原来从网页上复制到VS中(使用的浏览器为Firefox 3.1),引号结束前多了一个空格,即上面字符串在VS中为
"skintest.skin. " + st.ToString() + ".ssk "
多了一个空格,导致程序的运行失败!
下面为笔者的源程序代码(点击下载):
skinTest
程序截图如下:(Mdi窗体, VS 2005成功运行, Windows XP)
补充说明:
如果窗体中有第三方控件,则可能在调试的时候vs出现错误“Loaderlock was detected”错误,解决方法如下(网络收集):
1.改注册表
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework下面增加一个String,值为"0"
不过这样做,在该计算机上所有基于.NET2.0开发都得不到MDA的好处。
2.为项目增加一个配置文件.
3.直接修改项目设置
最简单的方法,在"Debug"菜单下----"Exceptions"----"Managed Debugging Assistants"中勾掉"LoaderLock")
se = new Sunisoft.IrisSkin.SkinEngine(Application.OpenForms[0], thisDll.GetManifestResourceStream("skintest.skin." + st.ToString() + ".ssk"));
"skintest.skin." + st.ToString() + ".ssk"字符串的路径不正确,所以初始化未能成功。仔细研究了一下,原来从网页上复制到VS中(使用的浏览器为Firefox 3.1),引号结束前多了一个空格,即上面字符串在VS中为
"skintest.skin. " + st.ToString() + ".ssk "
多了一个空格,导致程序的运行失败!
下面为笔者的源程序代码(点击下载):
skinTest
程序截图如下:(Mdi窗体, VS 2005成功运行, Windows XP)
补充说明:
如果窗体中有第三方控件,则可能在调试的时候vs出现错误“Loaderlock was detected”错误,解决方法如下(网络收集):
1.改注册表
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework下面增加一个String,值为"0"
不过这样做,在该计算机上所有基于.NET2.0开发都得不到MDA的好处。
2.为项目增加一个配置文件.
3.直接修改项目设置
最简单的方法,在"Debug"菜单下----"Exceptions"----"Managed Debugging Assistants"中勾掉"LoaderLock")
相关文章推荐
- C#.NET vs2010中使用IrisSkin4.dll轻松实现WinForm窗体换肤功能
- C#.NET vs2010中使用IrisSkin4.dll轻松实现WinForm窗体换肤功能
- C# WinForm ComboBox控件美化换肤
- C# WinForm ListView控件美化换肤
- C# Winform中窗体的美化—— 用IrisSkin轻松实现换肤功能
- 用 IrisSkin 为C# winform 换肤 美化
- 用C#实现换肤功能 - winform
- C# WinForm 滚动条换肤
- C#为什么多线程控制winform需要用委托?
- ssential Diagram for Windows FormsC#/winForm类似visio的拓扑图节点连线控件免费下载
- VS2010 (C#)winform程序打包发布图解
- winform c# 自动更新
- C#实现DevExpress控件换肤功能[vjsdn]改进篇
- C#软件winform程序安装包制作及卸载程序制作
- 基于C# Winform的串口数据接收
- C# WinForm通过WebClient实现文件上传下载 (附源码)
- C# Winform应用程序占用内存较大解决方法整理(转)
- 浅谈C#下winform和JS的互相调用和传参(webbrowser)
- C#中Winform的Treeview节点"正在展开..."的效果
- 在WinForm中使用WebServices来实现软件自动升级(AutoUpdate)(C#)