当前位置: 首页 > 编程笔记 >

C# TextBox数据绑定的方法

潘弘博
2023-03-14
本文向大家介绍C# TextBox数据绑定的方法,包括了C# TextBox数据绑定的方法的使用技巧和注意事项,需要的朋友参考一下

经常写用一个TextBox显示某个对象,然后编辑之后再保存的程序。以前都是在TextBox_TextChanged事件中修改对象的值,或者保存的时候再读取TextBox.Text属性保存对象的值。这样比较麻烦,而且经常容易出错。后来了解了C#的数据绑定,发现能够很好的解决这个问题。

1. 首先C#的TextBox本身就带数据绑定功能。

下面的代码就是把_myData对象的"TheValue"属性绑定到textBox1和textBox2的"Text"属性。最后一个参数不同:

1)其中DataSourceUpdateMode.OnPropertyChanged表示textBox1.Text发生变化,_myData.TheValue也变化,叫双向绑定。

2)DataSourceUpdateMode.Never表示Text1.Text变化不影响_myData.TheValue的值,是单向绑定。

private void Form1_Load(object sender, EventArgs e)
{
  _myData = new MyData();
  textBox1.DataBindings.Add("Text", _myData, "TheValue", false, DataSourceUpdateMode.OnPropertyChanged);
  textBox2.DataBindings.Add("Text", _myData, "TheValue", false, DataSourceUpdateMode.Never);
} 

2.也许有人留意到了,为什么上面的叫"双向绑定"呢?如果_myData.TheValue的值变化了,两个文本框的Text会变化吗?不错,仅在 textBox上数据绑定还不叫双向绑定,对象数据变化要通知绑定该对象的控件才行。这样就需要对象实现INotifyPropertyChanged接 口。

public class MyData : INotifyPropertyChanged
{
  private string _theValue = string.Empty;
 
  public string TheValue
  {
    get { return _theValue; }
    set
    {
      if (string.IsNullOrEmpty(value) && value == _theValue)
        return;
 
      _theValue = value;
      NotifyPropertyChanged(() => TheValue);
    }
  }
 
  public event PropertyChangedEventHandler PropertyChanged;
 
  public void NotifyPropertyChanged<T>(Expression<Func<T>> property)
  {
    if (PropertyChanged == null)
      return;
 
    var memberExpression = property.Body as MemberExpression;
    if (memberExpression == null)
      return;
 
    PropertyChanged.Invoke(this, new PropertyChangedEventArgs(memberExpression.Member.Name));
  }
}

3.好了,数据绑定完成了,看看效果吧。textBox1.Text变化—>_myData.TheValue变化—>textBox2.Text变化。反过来textBox2.Text变化就不是这样了,因为textBox2使用的单向绑定。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍C# DataGridView绑定数据源的方法,包括了C# DataGridView绑定数据源的方法的使用技巧和注意事项,需要的朋友参考一下 开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定。 1. 简单的数据绑定 例1 简单的数据绑定是将用户控件的某一个属性绑定至某一个类型实例上的某一属性。 采用如下形式进行绑定:引用控件.DataBinding

  • 本文向大家介绍C#实现绑定DataGridView与TextBox之间关联的方法,包括了C#实现绑定DataGridView与TextBox之间关联的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现绑定DataGridView与TextBox之间关联的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍C#异步绑定数据实现方法,包括了C#异步绑定数据实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#异步绑定数据实现方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍C#数据绑定(DataBinding)简单实现方法,包括了C#数据绑定(DataBinding)简单实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#数据绑定(DataBinding)简单实现方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍C#使用DropDownList绑定添加新数据的方法汇总,包括了C#使用DropDownList绑定添加新数据的方法汇总的使用技巧和注意事项,需要的朋友参考一下 DropDownList控件又称下拉列表框控件, 控件 列表 中的多行数 据 以隐含 的形式表 示 出 来,当用户需要选择所需列表项时,通过点击 “下三角 ”图形 展示 ,用户每次 只能选用一个 数据项。DropDownLi

  • 本文向大家介绍C#实现treeview绑定的方法,包括了C#实现treeview绑定的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现treeview绑定的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。