基于C#的WinForm窗体美化(无须美工功底)「建议收藏」

基于C#的WinForm窗体美化(无须美工功底)「建议收藏」基于C#的WinForm窗体美化(无须美工功底)在近期的实训中,学习到了许多精髓的小知识。接下来我会发布几篇博客,分享我的开发经验。在设计面向对象的UI层界面时,常常因为WinForm自身的窗体界面不够美观而去反复修改各种控件的位置。当然在不同的Windos中,WinForm所具有的主题也是不同的,但对于颜控的我们,这些也是无法满足的。所以今天我分享一个关于简单的对窗体进行美化的一个小技巧。

大家好,又见面了,我是你们的朋友全栈君。

基于C#的WinForm窗体美化(无须美工功底)

在近期的实训中,学习到了许多精髓的小知识。接下来我会发布几篇博客,分享我的开发经验。

在设计面向对象的UI层界面时,常常因为WinForm自身的窗体界面不够美观而去反复修改各种控件的位置。当然在不同的Windos中,WinForm所具有的主题也是不同的,但对于颜控的我们,这些也是无法满足的。

所以今天我分享一个关于简单的对窗体进行美化的一个小技巧。

为了帮助用户追求美观,.NET 4.0 专门为对此有需求的人提供了IrisSkin4.dll皮肤引用集,里面封装了许多对窗体重新描绘的方法,再搭配上WinForm特有的 .ssk 文件,就可以实现窗体的主题式美化,下面介绍如何使用这个皮肤引用集(用例项目名称为:Test 开发环境:Visual Studio 2012):

  1. 将IrisSkin4.dll下载至电脑中,并建议将该文件存放至项目的Debug中。(方便引用)
    这里写图片描述
  2. 进入项目,右键点击Test窗体类的引用->点击”浏览“->找到项目的Debug文件夹->双击IrisSkin4.dll文件->点击确定后,在引用集里就会出现“IrisSkin4”
    这里写图片描述
  3. 打开工具箱(看不到的请点击菜单栏中的视图->工具箱即可),然后在工具箱的空白处右键->添加选项卡,名称怎么好记怎么起,新建好应该会有“此组中没有可用控件”,然后将我们Debug中的IrisSkin4.dll文件,直接拖动到这些字上,也就是往这个选项卡里加控件。成功后如下图:
    这里写图片描述
  4. 然后拖动SkinEngine控件到窗体上,成功后如下图:
    这里写图片描述
  5. 自此美化窗体的环境全部搭建完成。

有了环境之后,窗体的美化工作就和我们平时接触到的换肤操作有些相似(就是选择一个皮肤,然后点击更换),但在C#窗体开发中,这种“换肤操作”不是很容易的。首先要明白一个点就是,窗体的皮肤文件都是以 “.ssk”为后缀名的,所以,我们要先去制作窗体的皮肤文件,才能实现“换肤”。(但是这就需要美工基础了,所以博主在这里提供了一些现成的美观的ssk文件提供阅读者下载,皮肤不是我做的,我整理的,尊重原作者。)

下面,我就给阅读者简单的分享一下流程吧:

  1. 首先将现成的.ssk文件放在项目的Debug中,这也是方便引用。(用例为DeepCyan.ssk)
    这里写图片描述
  2. 然后在Form1.cs的InitializeComponent();下添加如下代码:
this.skinEngine1 = new Sunisoft.IrisSkin.SkinEngine(((System.ComponentModel.Component)(this)));
this.skinEngine1.SkinFile = Application.StartupPath + "//皮肤文件名";

用例中如图:
这里写图片描述
3. 然后保存代码,我们试试看效果怎么样!
这里写图片描述
4. 自此美化界面基本完成,是不是很容易。无须美工基础,简单的审美即可。

这种简单的窗体美化有助于开发的系统整体保持一个风格,增强用户的体验性和视觉感受。

下面为博主提供的IrisSkin4.dll文件和一些做好的ssk皮肤。

->60种免费的ssk皮肤<-

->IrisSkin4.dll<-

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140103.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 到底什么是数据中台?

    到底什么是数据中台?最近可能大家听到“数据中台”这个词越来越频繁了,有时候我跟一些朋友聊起来,也是都在说这个,但是一直不知道这到底是个什么。最近就看到这篇文章,觉得说的还挺好的,分享给大家看…

    2022年5月21日
    34
  • python suds_在python3.x上安装suds 并访问webservice「建议收藏」

    python suds_在python3.x上安装suds 并访问webservice「建议收藏」suds。。。py3很乱。。一开始直接使用命令行:pipinstallsuds安装,结果报错ImportError:Nomodulenamedclient,然后就自然的pipinstallclient,然后成功了,pipinstallsuds安装,这下成功安装了。但是在python里虽然能importsuds。。但不能fromsuds.clientimportClien…

    2025年5月31日
    4
  • 【转】解决PHP里中文在浏览器的乱码显示

    【转】解决PHP里中文在浏览器的乱码显示

    2021年8月19日
    78
  • DMA控制器8237A「建议收藏」

    DMA控制器8237A「建议收藏」1DMA系统简介DMA(directmemoryaccess)是一种外设与存储器或者存储器与存储器之间直接传输数据的方式,在进行DMA存取时,CPU让出总线控制权,不在采用输入输出指令的方法进行数据存取,而采用一个专门的硬件DMAC(DirectMemoryAccessControl)控制电路,减少了中间环节,从而提高了传输速率。1.1DMA基本原理DMA直接实现I/O与存储器之间的数据传送。①当I/O接口准备好,希望进行DMA操作时,就像DMAC发出DMA请求信号DRQ(DMARe

    2022年5月18日
    57
  • 软件封装工具(牛人自制升降工具)

    平时Java项目的开发通常需要统一管理日志(Log)的输出,例如控制日志信息输送的目的地(控制台、文件等),控制每一条日志的输出格式,把日志分为不同的级别等。常用的比较成熟的Java日志管理工具有Apache的Log4j等。但有时我们平时一时兴趣想写个小Dmeo或小工具,想较好的控制日志的输出,引入专业的日志管理库又显得比较繁琐,下面我就自己封装一个简单的日志工具类(LogUtils.java)。

    2022年4月13日
    41
  • nport串口服务器配置网址(串口服务器是不是网口转串口)

    NPort串口服务器有分“驱动模式”及“socket模式”如果您的程序是通过串口进行通讯,那么请选择NPort的“驱动模式”,也就是为主机添加虚拟串口,具体安装配置是(这里以windows为例):1、通过NPortSearchUtility找到网络上的NPort,请将主机IP与NPortIP在同一网段中,NPort默认IP:192.168.127.2542、选择相对应的NPort双击;3…

    2022年4月11日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号