亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C# TextBox數據綁定的方法

 更新時間:2018年09月20日 10:08:29   作者:五維思考  
這篇文章主要為大家詳細介紹了C# TextBox數據綁定的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

經常寫用一個TextBox顯示某個對象,然后編輯之后再保存的程序。以前都是在TextBox_TextChanged事件中修改對象的值,或者保存的時候再讀取TextBox.Text屬性保存對象的值。這樣比較麻煩,而且經常容易出錯。后來了解了C#的數據綁定,發(fā)現能夠很好的解決這個問題。

1. 首先C#的TextBox本身就帶數據綁定功能。

下面的代碼就是把_myData對象的"TheValue"屬性綁定到textBox1和textBox2的"Text"屬性。最后一個參數不同:

1)其中DataSourceUpdateMode.OnPropertyChanged表示textBox1.Text發(fā)生變化,_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# DES加密算法中向量的作用詳細解析

    C# DES加密算法中向量的作用詳細解析

    以下是對C#中DES加密算法中向量的作用進行了詳細的介紹,需要的朋友可以過來參考下
    2013-09-09
  • http圖片上傳安全性問題 根據ContentType (MIME) 判斷其實不準確、不安全

    http圖片上傳安全性問題 根據ContentType (MIME) 判斷其實不準確、不安全

    圖片上傳常用的類型判斷方法有這么幾種---截取擴展名、獲取文件ContentType (MIME) 、讀取byte來判斷(這個什么叫法來著?)。下面由腳本之家小編跟大家分享圖片上傳安全性問題,感興趣的朋友一起看看吧
    2015-09-09
  • C#入參使用引用類型要加ref的原因解析

    C#入參使用引用類型要加ref的原因解析

    這篇文章主要介紹了C#入參使用引用類型要加ref的原因解析,我們在實際開發(fā)中還是能夠碰到一些引用類型添加ref的場景,其實道理也是一樣的,就是將引用類型的棧的地址傳遞到了方法中,那么和不添加有啥區(qū)別,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • C#中ListView用法實例

    C#中ListView用法實例

    我們經常會在應用程序中使用列表的形式來展現一些內容,所以學好ListView是非常必需的,下面這篇文章主要給大家介紹了關于C#中ListView用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • C#使用Aspose.Cells控件讀取Excel

    C#使用Aspose.Cells控件讀取Excel

    本文介紹Aspose.Cells基礎的用法,供大家參考。
    2016-03-03
  • C#實現HTML轉WORD及WORD轉PDF的方法

    C#實現HTML轉WORD及WORD轉PDF的方法

    這篇文章主要介紹了C#實現HTML轉WORD及WORD轉PDF的方法,涉及C#實現HTML、WORD及PDF等文件格式轉換的相關技巧,需要的朋友可以參考下
    2015-09-09
  • C# 調用 JavaWebservice服務遇到的問題匯總

    C# 調用 JavaWebservice服務遇到的問題匯總

    本文給大家分享的是個人在使用C#調用 JavaWebservice服務遇到的幾個問題的解決方法的匯總,給有類似需求的小伙伴們參考下吧。
    2016-01-01
  • C#實現給圖片添加日期信息的示例詳解

    C#實現給圖片添加日期信息的示例詳解

    這篇文章主要為大家詳細介紹了如何利用C#實現給圖片添加日期信息,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C#采用FileSystemWatcher實現監(jiān)視磁盤文件變更的方法

    C#采用FileSystemWatcher實現監(jiān)視磁盤文件變更的方法

    這篇文章主要介紹了C#采用FileSystemWatcher實現監(jiān)視磁盤文件變更的方法,詳細分析了FileSystemWatcher的用法,并以此為基礎實現監(jiān)視磁盤文件變更,是非常實用的技巧,具有一定的借鑒價值,需要的朋友可以參考下
    2014-11-11
  • 詳解StackExchange.Redis通用封裝類分享

    詳解StackExchange.Redis通用封裝類分享

    這篇文章主要介紹了詳解StackExchange.Redis通用封裝類分享 ,詳細的介紹了StackExchange.Redis通用封裝,具有一定的參考價值,有需要的可以了解一下。
    2016-12-12

最新評論