【WinForm UI控件系列】Blower 鼓风机控件

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

一、效果图 (七种样式)

支持叶片数3-5-7,支持顺时针、逆时针旋转,支持流动动画,支持铭牌...

二、使用说明

Blower 鼓风机控件

控件名称

Blower

中文名称

鼓风机控件

控件优点

Blower 是一个鼓风机/风机控件,支持多种朝向、叶轮旋转动画和颜色自定义。适用于工业通风系统、风机控制等场景。

主要特性

  • 多种朝向:支持双口朝左、双口朝右、双口朝上、左进右出、右进左出、左进上出、右进上出
  • 叶轮旋转:支持叶轮旋转动画效果
  • 叶片数量:支持3、5、7叶片设置
  • 颜色自定义:支持机身、叶轮、管道等颜色设置
  • 旋转方向:支持顺时针和逆时针旋转

重要参数说明

基本属性

属性名 类型 默认值 说明
Direction BlowerDirection DoubleLeft 鼓风机朝向
BladeCount BladeCountEnum Five 叶轮叶片数量
RotationDirection RotationDirection Clockwise 旋转方向
IsRunning bool false 是否运行
AnimationSpeed int 5 动画速度

鼓风机朝向(BlowerDirection)

朝向值 说明
DoubleLeft 双口朝左
DoubleRight 双口朝右
DoubleUp 双口朝上
LeftInRightOut 左进右出
RightInLeftOut 右进左出
LeftInUpOut 左进上出
RightInUpOut 右进上出

叶片数量(BladeCountEnum)

数量值 说明
Three 3叶片
Five 5叶片
Seven 7叶片

外观属性

属性名 类型 默认值 说明
BodyColor Color 220, 80, 60 机身颜色
BladeColor Color 255, 128, 0 叶轮颜色
PipeColor Color 255, 128, 0 管道颜色
BaseColor Color Gray 底座颜色
FixtureColor Color 100, 100, 100 固定架颜色
BodyBorderColor Color 255, 128, 0 机身边框颜色
BodyBorderWidth int 5 机身边框宽度
PipeDiameter int 0 管道直径(0自动计算)
Text string "" 固定架显示文本
TextColor Color Silver 文本颜色

重要事件

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

使用示例

基本使用

csharp 复制代码
// 创建鼓风机控件
Blower blower = new Blower();
blower.Size = new Size(150, 100);
this.Controls.Add(blower);

// 状态改变事件
blower.StateChanged += (sender, e) =>
{
    Console.WriteLine($"鼓风机状态:{(blower.IsRunning ? "运行" : "停止")}");
};

运行控制

csharp 复制代码
// 开始运行
blower.IsRunning = true;

// 停止运行
blower.IsRunning = false;

朝向设置

csharp 复制代码
// 设置朝向
blower.Direction = Blower.BlowerDirection.DoubleLeft;
blower.Direction = Blower.BlowerDirection.DoubleRight;
blower.Direction = Blower.BlowerDirection.LeftInRightOut;

叶片设置

csharp 复制代码
// 设置叶片数量
blower.BladeCount = Blower.BladeCountEnum.Three;
blower.BladeCount = Blower.BladeCountEnum.Five;
blower.BladeCount = Blower.BladeCountEnum.Seven;

旋转方向

csharp 复制代码
// 设置旋转方向
blower.RotationDirection = Blower.RotationDirection.Clockwise;
blower.RotationDirection = Blower.RotationDirection.CounterClockwise;

颜色自定义

csharp 复制代码
// 设置颜色
blower.BodyColor = Color.FromArgb(220, 80, 60);
blower.BladeColor = Color.FromArgb(255, 128, 0);
blower.PipeColor = Color.FromArgb(255, 128, 0);
blower.BaseColor = Color.Gray;

文本设置

csharp 复制代码
// 设置固定架文本
blower.Text = "1号风机";
blower.TextColor = Color.Silver;

注意事项

  1. 朝向选择:Direction 支持多种进出风方向组合
  2. 叶片数量:BladeCount 只能是 Three、Five 或 Seven
  3. 动画速度:AnimationSpeed 值越大旋转越快
  4. 运行状态:IsRunning 控制叶轮旋转动画的启停

三、后记

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

相关推荐
ZC跨境爬虫17 小时前
跟着 MDN 学CSS day_43:CSS布局挑战——从浮动到弹性盒与栅格的综合实践
前端·css·ui·html·tensorflow
夜空孤狼啸17 小时前
Vue Data UI:这不是图表库,是数据可视化 UI 平台
vue.js·ui·信息可视化
ZC跨境爬虫1 天前
跟着 MDN 学CSS day_37:(从文档流到粘性定位的底层原理)
前端·javascript·css·ui·html
G_dou_1 天前
Flutter三方库适配OpenHarmony【compass】罗盘 UI 项目完整实战
flutter·ui
ZC跨境爬虫2 天前
跟着 MDN 学CSS day_40:(Flexbox实战技能测试)
前端·css·ui·html·tensorflow
ZC跨境爬虫2 天前
跟着 MDN 学CSS day_36:(float、clear与BFC深度解析)
前端·javascript·css·ui·交互
豆豆2 天前
2026实测:AI生成UI设计稿后,如何优雅集成到PageAdmin CMS?(附标签替换代码)
人工智能·ui·cms·建站系统·ai工具·ai建站
爱吃大芒果2 天前
鸿蒙 ArkUI 架构蓝图:MoodLite 的 UI 渲染与数据逻辑解耦实践
ui·架构·harmonyos
Ulyanov2 天前
深入QML滑块与进度控制:构建动态数据可视化界面:QML+PySide6现代开发入门(六)
开发语言·python·算法·ui·信息可视化·雷达电子对抗仿真