news 2026/6/13 4:59:25

低代码C#上位机开发:工业控件库+配置化设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
低代码C#上位机开发:工业控件库+配置化设计

低代码C#上位机开发:工业控件库+配置化设计

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace IndustrialControlLibrary
{
// 工业控件基类
public class IndustrialControl : UserControl
{
public string ControlID { get; set; }
public string DisplayName { get; set; }
public bool IsEditable { get; set; } = true;

public event EventHandler ValueChanged;

protected virtual void OnValueChanged()
{
ValueChanged?.Invoke(this, EventArgs.Empty);
}

public virtual object GetValue() => null;
public virtual void SetValue(object value) { }
}

// 按钮控件
public class IndustrialButton : IndustrialControl
{
private Button button;

public IndustrialButton()
{
button = new Button
{
Dock = DockStyle.Fill,
BackColor = Color.LightBlue,
ForeColor = Color.Black
};
button.Click += (s, e) => OnValueChanged();
Controls.Add(button);
}

public override object GetValue() => button.Text;
public override void SetValue(object value)
{
if (value is string text)
button.Text = text;
}
}

// 显示器控件
public class IndustrialDisplay : IndustrialControl
{
private Label label;

public IndustrialDisplay()
{
label = new Label
{
Dock = DockStyle.Fill,
TextAlign = ContentAlignment.MiddleCenter,
BackColor = Color.Black,
ForeColor = Color.Lime,
Font = new Font("Consolas", 12)
};
Controls.Add(label);
}

public override object GetValue() => label.Text;
public override void SetValue(object value)
{
label.Text = value?.ToString() ?? "";
}
}

// 输入框控件
public class IndustrialInput : IndustrialControl
{
private TextBox textBox;

public IndustrialInput()
{
textBox = new TextBox
{
Dock = DockStyle.Fill,
TextAlign = HorizontalAlignment.Center
};
textBox.TextChanged += (s, e) => OnValueChanged();
Controls.Add(textBox);
}

public override object GetValue() => textBox.Text;
public override void SetValue(object value)
{
textBox.Text = value?.ToString() ?? "";

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 6:45:05

Open-AutoGLM核心组件拆解:9个关键技术点决定系统成败

第一章:Open-AutoGLM总体框架Open-AutoGLM 是一个面向自动化自然语言处理任务的开源框架,专为构建、优化和部署基于 GLM 架构的大语言模型应用而设计。该框架整合了任务解析、提示工程、模型调度与结果评估四大核心模块,支持用户以声明式方式…

作者头像 李华
网站建设 2026/6/10 10:50:56

计算机Java毕设实战-基于springboot的高校学生住宿管理系统 学生公寓系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/5 11:05:02

Deep Research完全指南:从RAG到AI自主研究的技术进化!

导语 如果AI的终极使命是拓展人类认知的边界,那么“研究”——这项系统性探索未知的核心活动,无疑是其最重要的试金石。2024年,AI Agent技术迎来突破性进展,一个名为 Deep Research(深度研究) 的方向正以前…

作者头像 李华
网站建设 2026/5/28 12:15:36

Open-AutoGLM如何安全加载外部应用?资深架构师透露4条黄金规则

第一章:Open-AutoGLM如何安全加载外部应用?资深架构师的思考在构建基于 Open-AutoGLM 的智能系统时,如何安全地集成和加载外部应用程序成为架构设计中的关键挑战。作为资深架构师,必须在功能扩展与系统安全之间取得平衡&#xff0…

作者头像 李华
网站建设 2026/6/10 20:59:51

Raid 0/1/5/10及热备盘配置详细步骤指南

Qwen3Guard-Gen-8B:生成式内容安全治理的智能防线 在大模型应用飞速落地的今天,一个被广泛忽视却至关重要的问题正浮出水面:如何让AI既自由表达,又不越界?当用户问出“你能教我怎么制作炸弹吗?”时&#xf…

作者头像 李华
网站建设 2026/6/10 13:50:12

Open-AutoGLM手机安装指南(仅限内部流传的高效配置方案)

第一章:Open-AutoGLM手机安装指南(仅限内部流传的高效配置方案)准备工作与环境要求 在开始安装前,请确保设备满足以下最低配置要求: Android 版本 10 或以上(推荐使用原生系统或类原生 ROM)至少…

作者头像 李华