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

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博客

http://www.lryc.cn/news/2392677.html

相关文章:

  • VR 技术在农业领域或许是一抹新曙光​
  • 【JVM】Java程序运行时数据区
  • NVIDIA英伟达describe-anything软件本地电脑安装部署完整教程
  • 计算机视觉入门:OpenCV与YOLO目标检测
  • Java 中的 ThreadLocal 详解:从基础到源码
  • (二)开启深度学习动手之旅:先筑牢预备知识根基
  • Spring Boot3.4.1 集成redis
  • 【Prometheus+Grafana实战:搭建监控系统(含告警配置)】
  • 操作系统原理第9章 磁盘存储器管理 重点内容
  • 一文速通Python并行计算:11 Python多进程编程-进程之间的数据安全传输-基于队列和管道
  • LangChain-Tool和Agent结合智谱AI大模型应用实例2
  • HTML、XML、JSON 是什么?有什么区别?又是做什么的?
  • C++中IO文件输入输出知识详解和注意事项
  • centos7.6阿里云镜像各个版本介绍
  • InnoDB引擎逻辑存储结构及架构
  • KVM——CPU独占
  • 第4讲、Odoo 18 模块系统源码全解与架构深度剖析【modules】
  • pytorch简单线性回归模型
  • 在 HTML 文件中添加图片的常用方法
  • 四、web安全-行业术语
  • Kafka核心技术解析与最佳实践指南
  • Unity基础学习(十二)Unity 物理系统之范围检测
  • JVM 的垃圾回收机制 GC
  • TypeScript 针对 iOS 不支持 JIT 的优化策略总结
  • 00 QEMU源码中文注释与架构讲解
  • ansible template 文件中如果包含{{}} 等非ansible 变量处理
  • Screen 连接远程服务器(Ubuntu)
  • 路由器、网关和光猫三种设备有啥区别?
  • vscode实时预览编辑markdown
  • 2505软考高项第一、二批真题终极汇总