2021-11-22 WinFrom面试题 Form中的控件与数据可以实现双向绑定吗?

Posted 微软MVP Eleven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-11-22 WinFrom面试题 Form中的控件与数据可以实现双向绑定吗?相关的知识,希望对你有一定的参考价值。

使用DataBing可以实现自动绑定,为Form定义一个实体模型,将控件的属性与实体模型中的属性绑定在一起,当页面控件的属性值改变时,模型中的属性值自动更新,不需要一一再去获取;当模型中的属性值修改时,控件的属性值也会自动更新。

模型基类,实现INotifyPropertyChanged接口,可以通知客户端属性性已更改
public class ViewModelBase : INotifyPropertyChanged

​ public event PropertyChangedEventHandler PropertyChanged;

​ public void OnPropertyChanged([CallerMemberName] string propertyName="")

​ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));

页面的模型:

Public class UserInfo:ViewModelBase

​ string userName;

​ public string UserName

​ getreturn userName;

​ set

​ userName= value;

​ OnPropertyChanged();

int age;

​ public int Age

​ getreturn age;

​ set

​ age= value;

​ OnPropertyChanged();

Form页面 控件绑定:

Form1_Load事件处理程序:

UserInfo userInfo=null;

private void Form1_Load(object sender, EventArgs e)

​ userInfo=new UserInfo ();

​ txtUserName.DataBindings.Add(“Text”, userInfo, “UserName”);

​ txtUserAge.DataBindings.Add(“Text”, userInfo, “Age”);

以上是关于2021-11-22 WinFrom面试题 Form中的控件与数据可以实现双向绑定吗?的主要内容,如果未能解决你的问题,请参考以下文章

2021-11-22 WinFrom面试题 Winform中,控件开发分为哪些?

2021-11-22 WinFrom面试题 如何在Form加载时,动态添加控件到Form中?

2021-11-22 WinFrom面试题 怎样将一个Form显示在Panel之中?

2021-11-22 WinFrom面试题 在Form中,实现无边框窗体拖动功能?

2021-11-22 WinFrom面试题 DataGridView中添加了一个ComboBox列,如何使用?

2021-11-22 WinFrom面试题 Windows.Forms.Timer 计时器如何实现动态时间