【WinForm UI控件系列】Battery 电池电量控件

前言:c# winform UI控件系列,做不到最好用,但愿是更好用!

一、效果图

二、使用说明文档

Battery 电池电量控件

控件名称

Battery

中文名称

电池电量控件

控件优点

Battery 是一个简洁美观的电池电量显示控件,支持横向和纵向显示、自动颜色切换、百分比文本显示等功能。适用于电池状态显示、电量监控等场景。

主要特性

  • 双向显示:支持横向和纵向两种显示方向
  • 自动颜色:根据电量自动切换颜色(正常/警告/危险)
  • 圆角设计:支持自定义圆角半径
  • 文本显示:支持显示电量百分比
  • 数据绑定:实现 INotifyPropertyChanged 接口

重要参数说明

基本属性

属性名 类型 默认值 说明
Value int 60 电量值(0-100)
Vertical bool false 是否纵向显示
ShowText bool true 是否显示文本
BorderThickness int 2 边框粗细
CornerRadius int 6 圆角半径
FillPadding int 2 填充区域与外边框的间隙

颜色属性

属性名 类型 默认值 说明
Fill Color? null 正常填充色(>40%,默认绿色)
FillWarn Color? null 警告填充色(20-40%,默认黄色)
FillDanger Color? null 危险填充色(<20%,默认红色)
BorderColor Color 200, 200, 200 边框颜色
BackColor Color White 背景色

重要事件

事件名 说明
PropertyChanged 属性值改变时触发

使用示例

基本使用

csharp 复制代码
// 创建电池控件
Battery battery = new Battery();
battery.Size = new Size(70, 40);
battery.Value = 75;
this.Controls.Add(battery);

纵向显示

csharp 复制代码
// 纵向电池
battery.Vertical = true;
battery.Size = new Size(40, 70);

颜色自定义

csharp 复制代码
// 自定义颜色
battery.Fill = Color.Green;           // 正常
battery.FillWarn = Color.Orange;      // 警告
battery.FillDanger = Color.Red;       // 危险
battery.BorderColor = Color.Gray;
battery.BackColor = Color.White;

隐藏文本

csharp 复制代码
battery.ShowText = false;  // 只显示电池图形,不显示百分比

动态更新电量

csharp 复制代码
// 模拟电量消耗
Timer timer = new Timer();
timer.Interval = 1000;

timer.Tick += (s, e) =>
{
    battery.Value = Math.Max(0, battery.Value - 1);
};

timer.Start();

数据绑定

csharp 复制代码
// 属性改变事件
battery.PropertyChanged += (sender, e) =>
{
    if (e.PropertyName == nameof(Battery.Value))
    {
        Console.WriteLine($"电量已更新:{battery.Value}%");
    }
};

注意事项

  1. 电量范围:Value 应该在 0 到 100 之间
  2. 自动颜色:Fill、FillWarn、FillDanger 为 null 时使用默认颜色
  3. 尺寸建议:横向时宽度应大于高度,纵向时高度应大于宽度
  4. 圆角半径:CornerRadius 为 0 时为直角

三、后记

陆续补充完善中,如有需求,请留言(xue5zhijing)

相关推荐
辣香牛肉面16 小时前
Photoshop CC 2025新手入门教程
ui·photoshop
tang&18 小时前
【测试】Web页面UI自动化测试完全指南:8步通用测试框架
ui·测试
星栈独行21 小时前
Makepad、egui、Dioxus、Tauri:Rust GUI 到底怎么选
开发语言·后端·程序人生·ui·rust
skywalk816321 小时前
nginx的配置软件Nginx UI
运维·nginx·ui
め.1 天前
UIFramework
ui·unity
互联网散修1 天前
鸿蒙实战:图片编辑器——添加文字的UI适配与键盘避让
ui·编辑器·harmonyos
YJlio1 天前
OpenClaw v2026.5.26-beta.1 / beta.2 预发布解读:Gateway 加速、transcript 路径统一、多通道修复、语音增强与安装更新链路加固
人工智能·windows·python·ui·缓存·gateway·outlook
Roc-xb2 天前
hermes-web-ui安装教程
前端·ui·hermes-web-ui
xiami_world2 天前
从prompt到产品:AI 生成 UI 的三条技术路径对比与工程实践
人工智能·ui·ai·prompt·aigc·ai编程
ZC跨境爬虫2 天前
跟着 MDN 学CSS day_50:(传统布局方法与网格系统)
前端·css·ui·tensorflow·媒体