【疯了C#】神奇的换肤(二)

昨天参照了网上的资料练习了换肤,今天进一步的实现选择换肤

其实很简单,需要实现的功能如下点击combobox中的不同项目然后面板会自动的切换到相应的界面主题。

界面如下:

下述代码参照 “张隽永” 博客,http://realzjy.blog.51cto.com/818594/165556

 public class ComboBoxItem
        {
            private string _text = null;
            private object _value = null;
            public string Text { get { return this._text; } set { this._text = value; } }
            public object Value { get { return this._value; } set { this._value = value; } }
            public override string ToString()
            {
                return this._text;
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            ComboBoxItem bt1 = new ComboBoxItem();
            ComboBoxItem bt2 = new ComboBoxItem();
            ComboBoxItem bt3 = new ComboBoxItem();
            ComboBoxItem bt4 = new ComboBoxItem();
            bt1.Text = "皮肤1";
            bt1.Value = "皮肤1";
            bt2.Text = "皮肤2";
            bt2.Value = "皮肤2";
            bt3.Text = "皮肤3";
            bt3.Value = "皮肤3";
            bt4.Text = "皮肤4";
            bt4.Value = "皮肤4";
            Type.Items.Add(bt1);
            Type.Items.Add(bt2);
            Type.Items.Add(bt3);
            Type.Items.Add(bt4);
        }

本段代码是对Combobox进行load时的显示初始化。

点击combobox 切换切换index时的code

  private void Type_SelectedIndexChanged(object sender, EventArgs e)
        {
            string[] A = { "皮肤1", "皮肤2", "皮肤3", "皮肤4" };
            Type.Text = A[Type.SelectedIndex];
        }

点击确定按钮执行换肤动作的code

private void Confirm_Click(object sender, EventArgs e)
        {
            switch(Type.Text)
            {
                case "皮肤1":
                    this.skinEngine1.SkinFile="DiamondBlue.ssk";
                    break;
                case "皮肤2":
                    this.skinEngine1.SkinFile="SportsBlue.ssk";
                    break;
                case "皮肤3":
                    this.skinEngine1.SkinFile="SportsCyan.ssk";
                    break;
                case "皮肤4":
                    this.skinEngine1.SkinFile="diamondgreen.ssk";
                    break;
            }                   

        }

代码写的很垃圾,当然本文的主要目的也仅仅是为了亲手实现这个功能。

切换index

时间: 2024-10-17 06:10:55

【疯了C#】神奇的换肤(二)的相关文章

【疯了C#】神奇的换肤

之前看网上有换肤控件IrisSkin2的介绍,感觉很神奇,今天亲自做下试验,C#越来越有趣了,是Labview无法比拟的. 前期准备工作如下:下载后IrisSkin2.dll及匹配的皮肤. 其中ssk是IrisSkin2.dll对应的皮肤. 1>新建一个winform程序用于演示该实例. 问:你他妈的怎么不用WPF试试? 答:我操,我也想啊.这鸟东西就在NET2.0下用的顺畅点,3.5下不能用,至少我用不了.2.0你他妈的哪里搞WPF. 2>添加引用,将IrisSkin2.dll添加到引用 点

Android实现换肤功能(二)

前两天写的上章关于换肤的功能获得了很好的反响,今天为大家介绍另一种方式.今天实现的策略也是网友建议的,然后我自己去写了个demo,大家自己评估下相比第一种方式的优势和劣势在哪里. 简单介绍下关于第一种关于换肤实现的方法一些不友好的地方,比如点击了换肤的功能键,需要先下载一个资源apk,然后再去引用其中的资源ID,于用户使用起来确实有有很多不便之处.今天为大家介绍的方法是克服了这一弊端的,可以实现直接在应用内切换,把资源文件存储在本地apk的,读取和操作也是更加便捷的,下面介绍下大致的一个实现逻辑

WPF换肤之二:可拉动的窗体

原文:WPF换肤之二:可拉动的窗体 让我们接着上一章: WPF换肤之一:创建圆角窗体 来继续. 在这一章,我主要是实现对圆角窗体的拖动,改变大小功能. 拖动自绘窗体的步骤 首先,通过上节的设计,我们知道了如何设计一个圆角窗体,通过XAML代码量,我们发现设置这个窗体是多么的简单.但是如何让窗体能够进行Resize呢? 在Winform时代,我们通过WndProc(ref Message m)处理窗体界面消息来实现,那么在WPF中是否也是如此呢? 其实在WPF中,虽说封装比较紧密,但是对于处理界面

Android学习之 换肤功能模块的实现<二>

在上篇中 主要有学习到皮肤资源内置到应用程序中 的方式实现换肤的 基本思路,本篇将继续以上篇的思路学习 皮肤资源内置的方式实现换肤效果.但本篇侧重于应用中换肤功能的代码设计实现上!切换的皮肤资源位于assets下不同的皮肤资源文件夹中. 本篇demo程序的代码结构如下: 本篇实现换肤功能的代码设计 UML类图如下: 本篇demo的换肤效果如下:               主要的实现代码在于: 1.SkinConfigManager.java 作用:皮肤配置管理,封装了SharedPrefere

Android学习之 换肤功能模块的实现<二>

在上篇中 主要有学习到皮肤资源内置到应用程序中 的方式实现换肤的 基本思路,本篇将继续以上篇的思路学习 皮肤资源内置的方式实现换肤效果.但本篇側重于应用中换肤功能的代码设计实现上.切换的皮肤资源位于assets下不同的皮肤资源目录中. 本篇demo程序的代码结构例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamFuaWNlMDUyOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissol

iOS开发——使用技术OC片&换肤处理(白天与黑夜)

换肤处理(白天与黑夜) 一:首先是使用简单的方法实现 不记得谁说的了,中国的用户大概是世界上最喜欢多皮肤功能的用户了.我很讨厌写安卓程序,图形界面设计工具及其难用,还不如手 写,编辑器慢 如蜗牛,智能提示总是跟不上我输入的速度,相同的功能,安卓的代码量至少是iOS的三倍,每写一行代码,都觉得自己的手指在滴血.可是安卓灵活统一的 style功能确实很贴心!5之前,iOS平台上实现相同的功能一直没有个比较好的办法. 苹果将所有界面组件的设定,都绑定在一个叫UIAppearance的协议上了,你可以简

android之换肤原理解读

如下是解读demo的链接,自行下载 https://github.com/fengjundev/Android-Skin-Loader 由于是开源的,而且对于想了解换肤功能的童鞋这个demo实在是通俗易懂,原理也很清晰,所以忍不住想要记录一下, 题外话:附上一篇换肤技术总结的博客,这是一篇动态换肤与本地换肤(传统的theme)换肤优劣势的详细比较,需要的童鞋,可以详细拜读,至少知道来源 http://blog.zhaiyifan.cn/2015/09/10/Android%E6%8D%A2%E8

Android实现换肤功能(一)

上周有个朋友给建议说讲讲换肤吧,真巧这周公司的工作安排也有这个需求,换的地方之多之繁,让人伤神死了.正所谓磨刀不误砍柴工,先磨下刀,抽出一个工具类,写了个关于换肤的简单demo. Android中换肤的实现有几种方法,我使用的是读取共享进程空间另一apk中的资源的方法.大致的原理如下,让你的app和一个只有资源文件的app运行在同一进程中,这样你的app就可以访问另一app的资源了.原理很简单,下面我们分步骤讲解实现过程. 一.共享进程运行的空间 通过在两个工程下的manifest根节点添加相同

Chrome 扩展 Stylish :给不喜欢某个网站一键「换肤」

原文地址:http://whosmall.com/?post=419 本文标签: Chrome扩展 Chrome浏览器 Chrome插件 Chrome扩展Stylish Stylish是什么 Stylish 是什么? 开门见山,Stylish 的作用是,它可以把百度首页变成这样: 它还能把知乎「拍扁」,让微博网页版变得简洁无比,让 Feedly 用上Material Design-- 这个神奇的 Stylish实际上是一个浏览器插件,适用于 Chrome,Firefox,Opera 以及 Saf