当前位置: 首页 > news >正文

C#中数据绑定的简单例子

        数据绑定允许将控件的属性和数据链接起来——控件属性值发生改变,会导致数据跟着自动改变。

        数据绑定还可以是双向的——控件属性值发生改变,会导致数据跟着自动改变;数据发生改变,也会导致控件属性值跟着自动改变。

1、数据绑定的三个关键点

实现数据绑定的三个关键步骤

  • ①创建绑定数据
  • ②控件绑定数据(重点是:数据绑定的语法)
  • ③数据更新的通知方法(重点是:属性更改通知事件的实现)

 数据绑定的语法

Control.DataBindings.Add(“控件的属性名”,数据源,”数据源的属性名”);

下面通过一个例子——通过按键控制三个控件状态,来演示具体如何进行数据绑定。

2、实现效果

3、整体的文件结构

4、Data.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace videoFromBili_474458694
{internal class Data : INotifyPropertyChanged{private bool valveState;public bool ValveState{get { return valveState; }set{valveState = value;ValveText = valveState ? "水泵已开启" : "水泵已关闭";ValveColor = valveState ? Color.Green :Color.Red;OnPropertyChanged(nameof(ValveState));//这一句保证数据绑定是双向的}}public string ValveText { get; set; }public Color ValveColor { get; set; }//③数据更新的通知方法(重点是:属性更改通知事件的实现)public event PropertyChangedEventHandler PropertyChanged;protected virtual void OnPropertyChanged(string propertyName){if (PropertyChanged != null){PropertyChanged(this, new PropertyChangedEventArgs(propertyName));}}}
}

5、Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;namespace videoFromBili_474458694
{public partial class Form1 : Form{//①创建绑定数据Data data = new Data();	public Form1(){InitializeComponent();//②控件绑定数据label1.DataBindings.Add("Text",data, "ValveState");button1.DataBindings.Add("BackColor", data, "ValveColor");textBox1.DataBindings.Add("Text", data, "ValveText");}private void button_Open_Click(object sender, EventArgs e){data.ValveState = true;}private void button_Close_Click(object sender, EventArgs e){data.ValveState = false;}}
}

参考

C#上位机数据绑定细节(实用干货分享)_哔哩哔哩_bilibili

【实战】Winform专题实战训练-数据绑定 B0951_哔哩哔哩_bilibili

C#winform数据绑定_winform bind-CSDN博客

相关文章:

  • 深入浅出:使用DeepSeek开发小程序的完整指南
  • vb.net oledb-Access 数据库本身不支持命名参数,赋值必须和参数顺序一致才行
  • STM32 搭配 嵌入式SD卡在智能皮电手环中的应用全景评测
  • 引领机器人交互未来!MANUS数据手套解锁精准手部追踪
  • 改写自己的浏览器插件工具 myChromeTools
  • 4.2.3 Spark SQL 手动指定数据源
  • 手撕Java+硅基流动实现MCP服务器教程
  • Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速
  • 深入 RAG(检索增强生成)系统架构:如何构建一个能查资料的大语言模型系统
  • 学习路之PHP--easyswoole_panel安装使用
  • Css样式中设置gap: 12px以后左右出现距离问题解析
  • 半导体晶圆制造洁净厂房的微振控制方案-江苏泊苏系统集成有限公司
  • 深度学习笔记25-RNN心脏病预测(Pytorch)
  • Haption在危险、挑战性或受限环境中操作的情况提供了一种创新的遥操作解决方案
  • 雷达目标起伏特性简析
  • Eureka实战:怎么配置优化以减少服务发现延迟
  • 深入浅出:Spring IOCDI
  • Golang——2、基本数据类型和运算符
  • matlab分布式电源接入对配电网的影响
  • 新能源集群划分+电压调节!基于分布式能源集群划分的电压调节策略!
  • 韶关公司做网站/个人怎么注册自己的网站
  • 做长图网站/搜索引擎优化指的是什么
  • 稳稳在哪个网站做的消防直播/东营seo网站推广
  • 做网站域名公司/企业网站优化外包
  • 怎么打帮人做网站开发的广告/网站排名提升软件
  • 知名做网站费用/百度入口网页版