WinForm 更换风格

更新时间:2023-04-22 18:42:00 阅读: 评论:0


2023年4月22日发(作者:组合优化问题)

美化你的 WinForm应用程序

利用技术能够快速开发出应用程序,但是如果应用微软的那一套技术,做出来的程序大多数程序员恐怕都会有

一种千篇一律的感觉:按钮还是那个按钮(只是文字不同),文本框还是那个文本框, 下拉列表还是那个下拉列表........

跟系统里的没有什么两样,不管程序怎么样,至少这个界面没什么新意。

诚然,目前也有不少第三方的控件,如Xceed Ultimate S脚底长痣好不好 uite

antage等等,使用这些控件大多需要再花一定时间去掌握这些控件的用法,而且有些做得不是很好,

我曾经见过一个商业控件里面很多是画出来的,不能像自带的控件那样在IDE上灵活控制,现在给大家展示一个

很简单的换皮肤控件,先不说别的,让大家看看效果:

看到上面的界面心动了吗?告诉大家,我用的都是VS2005的标准控件,实现换皮肤的功能也仅仅是数行代

码而已,也就是说以前熟悉的控件还照常使用。

先介绍一下这套控件吧,这套控件仅有一个dll)文件和一个skin文件夹,skin文件夹下共有

22个子文件夹,每个子文件夹其实就是一套界面风格,也就是说我们可以使用22种不同风格。

实现给界面换皮肤有两种做法:(一)拷贝法,即使将界面资源夹下所有的文件拷贝到.exe文件所在的位置,

然后在程序种通过le=fileName(fileName是皮肤文件.ssk文件的位置)来设定界面皮肤,这种做法通常

是我们需要在Debug文件夹和Relea文件各保存一套皮肤文件,发布程序的时候也需要附带这些文件。(二)嵌入资

源法,本文就是采用这种办法实现的,这样做的好处是发布程序时(不管是Debug版本或Relea版本)时vs自动将

皮肤文件编译进ex溪山战役 e文件中,减少程序发布时文件的个数,而且也不用管程序与皮肤文件的相对位置。

首先打开VS工具箱,添加皮肤控件组件,如下图:

然后在出现的选择工具箱项中点击浏览按钮,然后找到文件,然后确定关闭对话窗口之后,

皮肤控件组件就会出现在你的工具箱上了(具体出现在哪个分组跟你添加时添加哪个组有关),如下图:

(我不小心加到打印分组去了,大家不要骂我:P

好了,现在可以编写程序测试了,做一个有诗意的诗句 简单的窗体吧,界面上的控件如上图所示,然后将皮肤组件拖拽到

界面上,之后需要把程序所需要的皮肤资源文件添加进来,这里我是采用添加资狮子座的性格特点 源的办法。

步骤如下:

(一)在Win作文好段摘抄大全 Form工程上右键单击属性,在出现的界面中点资源选项卡,把所需的皮庆新年手抄报 肤资源文件添加进来(通

添加现有文件命令添加皮肤文件),如下图:

注意如果该皮肤文件夹下除了*.ssk文件之外,还包含有其它图片文件,建议将它们也作为资源添加到项目中。

添加完成之后,我们就可以在代码中通过ces.文件名来获取这些文件的内容了,通过这个方法返回的

是文件内容的二进制数据(byte[]),ream需要的是一个Stream对象,通过msdn我们可以以这个二

进制数据构建一个Stream对象(new MemoryStream(byte[] bytes)),然后赋值给皮肤组件的SkinStream属性,如果

需要换皮肤,重新构建一个皮肤资源文件的Stream对象,然后重新赋值就行了。

界面控件布局代码很简单,就不粘贴了,主要把后台代码放在这里吧(其实也很简单,不过需要注意,因为

使用了MemoryStream对象,就需要在程序引用程序集部分添加对IO方面的引用:using ;

代码如下:

using System;

using c;

using entModel;

using ;

using g;

using ;

using ;

using ;

namespace SkinForm

{

///

/// 说明:这是一个简单的WinForm应用程序,用来展示如何使用换皮肤控件来实现我们需要的漂亮界面,

代码很简单。

/// 作者:周公

/// 时间:2008-1-8

/// 首计时器ppt 发地址:/zhoufoxcn

///

public partial class MainForm : Form

{

private MemoryStream memoryStream;

public MainForm()

{

InitializeComponent();

SetSkinFile();

}

private void btnOK_Click(object nder, EventArgs e)许愿的英文

{

if (d)

{

成都所有大学 SetSkinFile();

}

el if (d)

{

SetSkinFile(101);

}

el if (d)

{

SetSkinFile(1);

}

el if (d)

{

SetSkinFile();

}

el if (d)

{

SetSkinFile(e1);

}

el if (d)

{

SetSkinFile(1_green1);

}

el if (d)

{

SetSkinFile(2_color11);

}

el

{

SetSkinF阿胶的食用方法 ile(1);

}

}

private void SetSkinFile(byte[] bytes)

{

memoryStream=new MemoryStream(bytes);

//设置皮肤可以通过两种方式,一种是指定皮肤文件的位置,

//le=fileName(fileName是皮肤文件.ssk文件的位置)

//一种是指定皮肤文件的文件流,如本程序所示

ream = memoryStream;

}

}

}

程序界面效果如上面所示。


本文发布于:2023-04-22 18:42:00,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/509687.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:winform
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图