『7x24小时有问必答』

做设备状态监控界面的时候,经常会有LED数字显示的需求。
像工业仪表盘上的红字一样,显示转速、流量、温度等实时数据。
要用 WinForms 来做。
就要从UserControl开始画起,并且还要考虑字体渲染和颜色切换的问题。
很费时间。
最近看到一个叫做PPSkin的项目。
里面有现成的LedNum和LedBar可以直接拖到窗体上使用。
看起来能省不少事。
它里面封装了 20 多种控件,从按钮、进度条到 LED 数字显示、折叠面板都有。
是用纯C# GDI+自己绘制的,并且没有使用任何第三方DLL,很轻量。
下面我们看看它有哪些独特功能。
基础控件类,直接套上现代风格。
按钮有圆角渐变样式,并且已经把 hover 效果和点击反馈都封装好了。
复选框做成开关式样,类似工业设备上的实体开关,不是默认的小方框。
文本框支持圆角边框、水印提示,数值调节框有上下微调按钮。
单选按钮有圆角和方角两种形式,整体风格一致,符合工业界面的要求。
直接把控件拖到窗体上就可以用了,不需要从UserControl开始画。
以前做圆角按钮要写三十多行的绘图代码,现在只需要修改几个属性就可以完成。
进度显示类,把工业仪表盘的样式都做出来了。
圆环形进度条可以用来表示百分比、流量、转速等实时的数据。
波浪进度条有动态效果,就像水波一样往上涌起,可以用来做液位监控。
LED 数字显示,像工业仪表盘上的红数字一样来表示转速、温度、流量等数据。
普通的进度条也可以有圆角以及自定义颜色,不是系统默认的扁平蓝色条。
// LED 数字显示示例

LedBar ledBar = new LedBar();

ledBar.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

ledBar.NumColor = Color.Red; // 自定义颜色

以前要做一个LED数字显示屏的时候,一般要从 UserControl 开始,做出字体渲染和颜色切换。
现在把 LedNum 控件拖到窗体上,修改一些属性就可以了。
容器布局类,参数分组做得更清爽。
折叠面板带动画效果,不用的时候能收起来,可以用来做参数分组。
TabControl 也有美化版本,标签页样式比系统默认好看,支持圆角标签。
可以将滚动条绑定到 DataGridView 上,自动同步滚动位置,不需要自己去写同步逻辑。
分组框 PPGroupBox 也可以使用圆角样式,让参数分组界面更清爽。
// 折叠面板动画

PPFlodPanel foldPanel = new PPFlodPanel();

foldPanel.Title = "参数设置";

foldPanel.IsExpanded = true; // 展开/折叠状态

// 动画自动处理,不需要额外代码

做上位机界面的时候,参数面板经常需要分组显示。
以前要自己写折叠动画、处理展开和收起的逻辑,代码写了 100 行。
使用PPFlodPanel,动画效果已经内建好了,展开和折叠的状态只用一行代码就可以实现。
窗体类,把标题栏按钮和阴影都自绘好了。
PPForm 支持自定义标题栏按钮(关闭、最大化、最小化),不是系统默认样式。
窗体有半透明阴影的效果,和现在的软件界面风格一样,比系统的默认窗体更美观一些。
可调整大小窗体,支持拖拽边缘调整,不是系统默认的调整方式。
以前想要给窗口加上阴影和自定义标题栏,需要去处理WM_NCCALCSIZE消息、绘制非客户区。
一套下来代码就有一千多行了,调试起来很容易出现问题,而且阴影效果也不太自然。
现在继承PPForm,阴影和标题栏按钮都已经封装好了,可以直接使用。

看到这你想装上试试?

安装方式很简单,克隆项目或者直接引用 DLL。
git clone https://gitee.com/llpicon_admin/PPSkin.git

在Visual Studio中打开PPSkin.sln文件进行编译,得到PPSkin.dll文件。
把DLL引用到你的WinForms项目中去,控件就可以出现在工具箱里了。
感兴趣的朋友可以抓紧试试。
开源地址:https://gitee.com/llpicon_admin/PPSkin

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码