winform 实现skin功能,图片用静态类维护的效率?

bonnibell 2007-03-02 03:43:34
想在 winform 中实现皮肤功能,
主窗体背景用切割好的九张图片绘制,
另外包括了button,radiobutton等的各种形态(选中,离开)的若干图片,
更换皮肤时,通过更改图片资源的文件夹,
把所有的图片都读到了一个ImageList类的相应属性中
然后所有用到相关图片的地方都从ImageList类读取
然后重画窗体(button等控件都已经扩展,从ImageList类读取图片实现不同态的皮肤更换)

已经实现了该功能,但感觉效率不是很好,有更好的思路或者代码供俺参考么

只是为了学习,所以不用现有的皮肤控件,请大家帮忙给点思路
...全文
295 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vainnetwork 2007-07-13
  • 打赏
  • 举报
回复
关注帮顶.楼上的WINFROM有现成的SKIN?
winner2050 2007-07-13
  • 打赏
  • 举报
回复
我觉得还是skin好,毕竟你的这种做法不精妙。

肯定比不过微软程序员作的。
kingonehappy 2007-07-13
  • 打赏
  • 举报
回复
csShooter能不能再详细讲解一下
sunzhong2003 2007-07-12
  • 打赏
  • 举报
回复
同意在消息层实现
bonnibell 2007-07-12
  • 打赏
  • 举报
回复
晒一晒
bonnibell 2007-03-06
  • 打赏
  • 举报
回复
csShooter(Sharp Shooter)

能说的再详细些么,谢!
Qim 2007-03-02
  • 打赏
  • 举报
回复
也想找个好的方法,收藏.
csShooter 2007-03-02
  • 打赏
  • 举报
回复
高效的方法不会在托管层实现!

一般都是使用C++消息层实现!


sunrobust 2007-03-02
  • 打赏
  • 举报
回复
使用资源文件吧,

将图片做进资源文件中,可以甚至可以起名xxx.skn什么的,ResourceWriter

读取用ResourceManager.

不过跟楼主讨论一下,我觉得怎么改C#画界面的效率都不高...

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧