首页 > 编程语言 >C# Winfrom中数据的双向绑定(使用INotifyPropertyChanged)

C# Winfrom中数据的双向绑定(使用INotifyPropertyChanged)

时间:2024-08-28 21:48:23浏览次数:7  
标签:propertyChanged INotifyPropertyChanged C# Winfrom 绑定 UserID user

在WPF中新建项目是自动实现了INotifyPropertyChanged接口,用于数据绑定时非常的方便

在winfrom中也可以实现INotifyPropertyChanged接口

将需要绑定的字段写到一个类中,用这个类实现INotifyPropertyChanged接口

public class User : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
var propertyChanged = this.PropertyChanged;
if (propertyChanged != null)
propertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
//这里只绑定一个字段
private string userID;

public string UserID
{
get => userID;
set
{
userID = value;
OnPropertyChanged("UserID");
}
}
}

在Winfrom的界面代码中进行数据绑定\

User user = new User();
private void Login_Load(object sender, EventArgs e)
{
tBoxUserID.DataBindings.Add("Text", user,"UserID");
}

以上代码实现两个功能:
①:当user.UserID的值发生变化时,实Winfrom界面上对应的TextBox的值也发生变化
②:Winfrom界面上的TextBox的值也发生变化时,user.UserID的值发生变化
实现了双向绑定 

参考:https://www.cnblogs.com/xcong/p/3617688.html

标签:propertyChanged,INotifyPropertyChanged,C#,Winfrom,绑定,UserID,user
From: https://www.cnblogs.com/HarryK4952/p/18385582

相关文章

  • AT cf17 final J Tree MST
    ATcf17finalJTreeMST考场上想出的黑题,然而写挂了……思路考场推出boruvka算法,会的直接跳过就好。结论:一个点向另外一个点连出的最小边,一定在最小生成树上。证明:参考Kruskal生成树的流程,若当前边(最小边)不在最小生成树上,表明边的两端已经在同一个连通块中。那么存在一......
  • EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2) VP记录
    EPICInstituteofTechnologyRoundSummer2024(Div.1+Div.2)VP记录A一眼\((n-1)m+1\)。B最后的数列是固定的,每个数与最后数列的数相减后,对差值求和再加上最大值即可。C唐诗C题,获得\(3\)发罚时。只有一个数右边的数归零了,它才会归零。右往左扫,如果右边......
  • DHCP部署与安全
    DHCP部署与安全1.DHCP是动态主机配置协议,使用UDP协议工作,目的是获取相应的IP地址,可以动态分配IP地址,根据租约到期或者续约租期方式来管理IP地址的分配。2.DHCP服务器住在67端口,DHCP客户端住在68端口Client传送封包给Server时,源是UDP68端口,目的是UDP67端口从Server传送给Clie......
  • AT_tdpc_number 数 解题报告
    题目大意求\([1,N]\)中有多少个数在十进制表示下数码和是\(D\)的倍数。数据范围:\(1\leN\le10^{10000},1\leD\le100\)。思路很明显的数位dp。这里采用了记忆化搜索来实现数位dp。记忆化搜索实现比较板子,不光写起来比较简单,而且容易扩展,所以建议大家都学习一下。......
  • 【STC15】内部RAM讲解(data/idata/xdata的区别)
    简短不看版空间分配先使用data,data不够再用idata,idata使用时要预留22个字节以上的空间进行压栈,idata不够再使用xdata,这样的程序效率是最高的在1T的模式下,程序运行速度比12T的快很多,压22个字节和6个字节效率差不太多,如果不是很熟练,少用using,如果熟练了,可以使用using优化多去pro......
  • SAP: 如何运行Web Dynpro Application
     照着《SAPWebDynproForABAP开发技术详解 高端应用》学习抄例子,没有看过初级应用篇直接来学习高端应用知道会有很多知识断了。抄完例子后,不知道如何运行下面补充一下运行操作步骤: 一、创建一个WebDynproApplication,浏览器访问WebDynpro应用。 选择WebDynproC......
  • WPF draw thumbs on livecharts and drag drop thumb
    //xaml<Windowx:Class="WpfApp299.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • Altium Designer21电路设计软件介绍 AD21安装AD19(PCB设计软件)
    AltiumDesigner是一款功能强大的电子设计自动化(EDA)软件,主要用于绘制印刷电路板(PCB)设计和开发嵌入式系统。其主要特点包括:1.统一的FPGA、PCB和嵌入式系统设计平台,实现了从概念设计到产品上市的全流程解决方案。2.强大的网络化设计功能,支持实时多方协同和设计数据......
  • 【Unity热门插件】Curvy Splines:Unity中的曲线艺术
    ......
  • Spring Cloud Consul入门:服务发现与配置管理的最佳实践
    SpringCloudConsul入门:服务发现与配置管理的最佳实践在微服务架构中,服务发现和配置管理是两个核心的需求。SpringCloudConsul作为一个开源的工具,为开发者提供了简单、高效的服务发现和配置管理方案。本文将详细介绍SpringCloudConsul的基础知识,并提供在服务发现与......