首先非常感谢 http://www.cnblogs.com/mgod/archive/2008/06/21/1227147.html 在一片UP声中给出了答案,而且非常简单。
找了好久的换肤控件了,主要都有activeSkin、skin++、IrisSkin2、devexpress等,一般都少有免注册或者破解版。这里要推荐dotnetskin换肤控件破解版,这个控件的介绍和下载可以到 http://www.cnblogs.com/mgod/archive/2008/06/21/1227147.html 的博客中去,因为我也是从那里下载的,对于初学着我简单介绍一下如何在程序中加载这个换肤控件,其他高级的设置还是自己摸吧。
dotnetskin的帮助文档里面是这样讲的:
You can build skinnable application within a few minute .
1 Put SkinUI component on mainform
2 Set SkinUI.FileName property to skin file
3 Set SkinUI.active = true
4 compile your application and run
首先,直接将下载好的dotnetskin.dll拖到VS05的工具栏中,会出现skinUI的控件,或者在工具栏的组件里面点右键--》添加项--》.net framework 组件卡下面,浏览那个dotnetskin.dll文件添加就行了。
之后将skinUI拖入winForm中,将会添加dotnetskinl引用。
调用skinUI的代码如下: 将skn文件导入skinUI (下载的压缩包中带有SKN文件)
- private void Form1_Load(object sender, EventArgs e)
- {
- skinUI1.SkinFile = @"D:/Program Files/WorkSpace_05/socket/skins/Office 2007-OFFICE07.skn";
- skinUI1.Active = true;
- }
其实在skinUI1的属性里面是可以设置skinfile和actice的属性的。如果在属性里面设置了skinfile的属性就不用写代码load了。
如果你想动态换肤的话如下:
- //更换皮肤
- private void button4_Click(object sender, EventArgs e)
- {
- OpenFileDialog dialog = new OpenFileDialog();
- dialog.InitialDirectory = @"../skins";
- dialog.Filter = "skin files (*.skn)|*.skn";
- if (dialog.ShowDialog() == DialogResult.OK)
- {
- skinUI1.LoadSkinFile(dialog.FileName);
- this.Text = Path.GetFileName(dialog.FileName);
- }
- }
而且帮助上面说:SkinUI is main component to skin your project, use just put on SkinUI on mainform, it will automatically skin all forms. 经测试的确如此。