news 2026/4/17 14:32:41

低代码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/4/18 8:34:44

Python 中装饰器和内存回收的说明

文章目录前言Python 中装饰器和内存回收的说明1. Python 中的装饰器1.1. 说明1.2. 装饰器示例2. Python 内存回收前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运…

作者头像 李华
网站建设 2026/4/18 10:51:52

AI浪潮冲击职场:企业倾向自动化而非招聘新人

Gen Z面临“就业末日”:全球企业优先考虑AI而非招聘新人,报告指出 年轻职场新人正面临一场“就业末日”,因为商业领袖们正在投资人工智能(AI),而不是招聘新员工。这是根据一项针对全球商业领袖的研究得出的…

作者头像 李华
网站建设 2026/4/18 8:44:09

别被榜单骗了:Gemini 3 Pro 的实战避坑指南

1M 上下文:是生产力神器还是账单刺客? 2025 年底了,如果你还在纠结怎么写 Prompt 让 AI 吐出更准的代码,那你已经掉队了。Google 发布的 Gemini 3 Pro 拿了 LMArena 第一(1501 Elo),但这分值最…

作者头像 李华
网站建设 2026/4/18 10:51:02

(独家)Open-AutoGLM总体框架设计内幕:高可用与自进化如何兼得

第一章:Open-AutoGLM总体框架设计内幕:高可用与自进化如何兼得在构建大规模语言模型自动化系统时,Open-AutoGLM 面临的核心挑战是如何在保障服务高可用的同时,实现模型与系统的持续自进化。该框架采用“双环协同”架构&#xff0c…

作者头像 李华
网站建设 2026/4/18 3:35:38

门店共享:零成本开启额外收入

今天分享一种正在多个城市试点的创新模式——“门店共享系统”,它能让你的店铺在原有业务基础上,轻松开辟额外收入渠道。简单来说,就是让你的门店同时销售多个品牌的商品或服务。比如便利店可以销售早餐套餐,文具店可以代收快递&a…

作者头像 李华