news 2026/6/10 0:35:37

低代码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/9 18:54:01

Open-AutoGLM + VMware/KVM/VirtualBox 兼容性全测评(独家实验结果)

第一章:Open-AutoGLM可以挂虚拟机吗Open-AutoGLM 作为一款基于大语言模型的自动化任务处理框架,其设计初衷是支持多环境部署与灵活调度。在实际应用中,许多用户关心是否可以在虚拟机环境中运行 Open-AutoGLM。答案是肯定的——该框架完全支持…

作者头像 李华
网站建设 2026/6/9 18:54:52

从测试到生产:Open-AutoGLM部署必须跨越的3道技术门槛

第一章:从测试到生产的部署全景图在现代软件交付流程中,代码从开发环境流转至生产环境的过程已不再是简单的复制粘贴。它涉及多个关键阶段的协同与验证,确保系统稳定性、安全性和可维护性。环境分层策略 典型的部署流水线包含以下隔离环境&am…

作者头像 李华
网站建设 2026/6/9 18:48:08

Open-AutoGLM mlx部署避坑手册(99%新手都会忽略的4个关键细节)

第一章:Open-AutoGLM mlx部署的核心挑战在将 Open-AutoGLM 部署至 MLX(Machine Learning X)平台的过程中,开发者面临一系列技术性挑战。这些挑战不仅涉及模型兼容性与性能优化,还包括资源调度与系统集成等多个层面。硬…

作者头像 李华
网站建设 2026/6/7 7:27:14

中小企业仓库管理系统研究和设计文献综述

本科生毕业设计(论文)文献综述 ( 2025届) 论文题目 中小企业仓库管理系统研究和设计 学生姓名 学号 2023212213062 专 业 计算机科学与技术(专升本) 班级 计算机2309 指导教师 李阳 职…

作者头像 李华
网站建设 2026/6/9 19:38:13

Truffle实战:编译部署测试智能合约全流程

Qwen3Guard-Gen-8B 部署与内容安全推理实战 在大模型应用爆发式增长的今天,一个被广泛忽视但至关重要的问题浮出水面:如何确保生成内容的安全性? 我们见过太多案例——聊天机器人输出歧视言论、AIGC平台生成违法信息、智能客服无意中引导用户…

作者头像 李华