最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Winform項(xiàng)目中TextBox控件DataBindings屬性

 更新時(shí)間:2022年02月26日 11:04:37   作者:.NET開發(fā)菜鳥  
這篇文章介紹了Winform項(xiàng)目中TextBox控件DataBindings屬性的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

DataBindings屬性是很多控件都有的屬性,作用有2方面。一方面是用于與數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行綁定,進(jìn)行數(shù)據(jù)顯示。另一方面用于與控件或類的對(duì)象進(jìn)行數(shù)據(jù)綁定。這里主要關(guān)注后者。主要用法是將某個(gè)對(duì)象的某個(gè)屬性與指定對(duì)象的指定屬性進(jìn)行關(guān)聯(lián).

Label、TextBox等都包含DataBindings屬性,其類型為ControlBindingsCollection,是Binding類的集合。Binding類代表某對(duì)象屬性值和某控件屬性值之間的簡(jiǎn)單綁定。如可以將TextBox的Text屬性值綁定到Label的Text屬性值,這樣,當(dāng)TextBox中的文本被修改的時(shí)候,Label的文本也會(huì)及時(shí)進(jìn)行修改,如下面的代碼所示:

Label1.DataBindings.Add("Text",TextBox1,"Text");

Binding類除了可以將對(duì)象的屬性綁定到控件的屬性之外,還可以將對(duì)象列表中當(dāng)前對(duì)象的屬性值綁定到控件的屬性。

當(dāng)使用Binding的構(gòu)造函數(shù)創(chuàng)建實(shí)例時(shí),必須指定三項(xiàng)內(nèi)容:

  • 要綁定到的控件屬性的名稱
  • 數(shù)據(jù)源
  • 數(shù)據(jù)源中解析為列表或?qū)傩缘膶?dǎo)航路徑

其中,數(shù)據(jù)源可以為:

  • 實(shí)現(xiàn) IBindingList 或 ITypedList 的任何類。包括:DataSet、DataTable、DataView 或 DataViewManager。 
  • 實(shí)現(xiàn) IList 的任意索引集合類。(必須在創(chuàng)建 Binding 之前創(chuàng)建和填充該集合,并且列表中的所有對(duì)象必須為同一類型,否則將引發(fā)異常) 
  • 強(qiáng)類型對(duì)象的強(qiáng)類型 IList。

導(dǎo)航路徑可以為空字符串(默認(rèn)將調(diào)用數(shù)據(jù)源的ToString()方法)、單個(gè)屬性名稱或用點(diǎn)分隔的名稱層次結(jié)構(gòu)。

名稱層次結(jié)構(gòu)是什么意思呢?比如我們有一個(gè)Company類,它包含Name屬性和Employees屬性(公司所有Employee的集合),而Employee類又包含Name屬性。那么,如果要將Company的Name屬性綁定到TextBox控件的Text屬性,代碼為:

TextBox1.DataBindings.Add("Text", company, "Name");

如果要綁定Employees的Name屬性,代碼為:

TextBox1.DataBindings.Add("Text", company, "Employees.Name");

Employess.Name即為用點(diǎn)分隔的名稱層次結(jié)構(gòu)。在這里,Employees為一個(gè)集合,將Employees.Name綁定到TextBox會(huì)出現(xiàn)什么情況呢?測(cè)試后可知,TextBox將顯示Employees集合中第一個(gè)Employee的Name屬性。

示例:

界面

代碼實(shí)現(xiàn):

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;

namespace DataBindingsDemo
{
    public partial class FrmDataBindings : Form
    {
        public FrmDataBindings()
        {
            InitializeComponent();
        }

        private void FrmDataBindings_Load(object sender, EventArgs e)
        {
            //綁定到DataTable
            DataTable dtSource = GetDataTable();
            this.textBox1.DataBindings.Add("Text", dtSource, "StudentNo");
            this.textBox2.DataBindings.Add("Text", dtSource, "StudentName");
            this.textBox3.DataBindings.Add("Text", dtSource, "Sex");

            //綁定到實(shí)體對(duì)象
            Student stu = new Student() { StudentNo=2,StudentName="測(cè)試2",Sex="女"};
            //必須是綁定到對(duì)象的屬性(此例中綁定到StudentNo,而不是student),
            this.textBox4.DataBindings.Add("Text", stu, "StudentNo");
            this.textBox5.DataBindings.Add("Text", stu, "StudentName");
            this.textBox6.DataBindings.Add("Text", stu, "Sex");
        }

        private DataTable GetDataTable()
        {
            DataTable dt = new DataTable();
            DataColumn dcNo = new DataColumn("StudentNo", typeof(Int32));
            DataColumn dcName = new DataColumn("StudentName", typeof(string));
            DataColumn dcSex = new DataColumn("Sex", typeof(string));
            dt.Columns.Add(dcNo);
            dt.Columns.Add(dcName);
            dt.Columns.Add(dcSex);
            dt.Rows.Add(new object[] { 1,"測(cè)試","男"});
            return dt;
        }
    }

    public class Student
    {
        private int studentNo;

        public int StudentNo
        {
            get { return studentNo; }
            set { studentNo = value; }
        }

        private string studentName;

        public string StudentName
        {
            get { return studentName; }
            set { studentName = value; }
        }

        private string sex;

        public string Sex
        {
            get { return sex; }
            set { sex = value; }
        }
    }
}

運(yùn)行效果:

到此這篇關(guān)于Winform項(xiàng)目中TextBox控件DataBindings屬性的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#實(shí)現(xiàn)異步編程的方法

    C#實(shí)現(xiàn)異步編程的方法

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)異步編程的方法,什么是異步,如何實(shí)現(xiàn)異步編程,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C#調(diào)用WinAPI部分命令的方法實(shí)現(xiàn)

    C#調(diào)用WinAPI部分命令的方法實(shí)現(xiàn)

    本文主要介紹了C#調(diào)用WinAPI部分命令的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • C#實(shí)現(xiàn)歸并排序

    C#實(shí)現(xiàn)歸并排序

    這篇文章介紹了C#實(shí)現(xiàn)歸并排序的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Unity實(shí)現(xiàn)倒計(jì)時(shí)功能

    Unity實(shí)現(xiàn)倒計(jì)時(shí)功能

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)倒計(jì)時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C#簡(jiǎn)單實(shí)現(xiàn)IOC容器的示例代碼

    C#簡(jiǎn)單實(shí)現(xiàn)IOC容器的示例代碼

    IoC 的原理是通過(guò)將對(duì)象的創(chuàng)建和依賴關(guān)系的管理交給外部容器來(lái)實(shí)現(xiàn),從而降低了代碼的耦合度,提高了代碼的可維護(hù)性和可測(cè)試性,下面我們就來(lái)看看如何通過(guò)C#實(shí)現(xiàn)一個(gè)IOC容器吧
    2024-02-02
  • C# 使用SharpZipLib生成壓縮包的實(shí)例代碼

    C# 使用SharpZipLib生成壓縮包的實(shí)例代碼

    SharpZipLib是一個(gè)C#的類庫(kù),主要用來(lái)解壓縮Zip,GZip,BZip2,Tar等格式,是以托管程序集的方式實(shí)現(xiàn),可以方便的應(yīng)用于其他的項(xiàng)目之中。本文通過(guò)一個(gè)實(shí)例代碼給大家介紹了C# 使用SharpZipLib生成壓縮包的方法,感興趣的朋友跟隨小編一起看看吧
    2018-09-09
  • C#實(shí)現(xiàn)XML文件操作詳解

    C#實(shí)現(xiàn)XML文件操作詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)XML操作文件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • 用NPOI創(chuàng)建Excel、合并單元格、設(shè)置單元格樣式、邊框的方法

    用NPOI創(chuàng)建Excel、合并單元格、設(shè)置單元格樣式、邊框的方法

    本篇文章小編為大家介紹,用NPOI創(chuàng)建Excel、合并單元格、設(shè)置單元格樣式、邊框的方法。需要的朋友參考下
    2013-04-04
  • C#實(shí)現(xiàn)修改系統(tǒng)時(shí)間的方法

    C#實(shí)現(xiàn)修改系統(tǒng)時(shí)間的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)修改系統(tǒng)時(shí)間的方法,是一個(gè)非常實(shí)用的功能,需要的朋友可以參考下
    2014-07-07
  • C#中csv文件與DataTable互相導(dǎo)入處理實(shí)例解析

    C#中csv文件與DataTable互相導(dǎo)入處理實(shí)例解析

    這篇文章主要介紹了C#中csv文件與DataTable互相導(dǎo)入處理實(shí)例解析,非常實(shí)用的功能,需要的朋友可以參考下
    2014-08-08

最新評(píng)論

二连浩特市| 鸡泽县| 寻甸| 开远市| 巴彦淖尔市| 乃东县| 彭山县| 吴堡县| 金川县| 嘉黎县| 鄂伦春自治旗| 绥德县| 康乐县| 简阳市| 洪洞县| 喀什市| 平遥县| 肇源县| 繁昌县| 奉新县| 沾益县| 汉阴县| 礼泉县| 江川县| 安远县| 尉氏县| 新巴尔虎左旗| 海林市| 克山县| 海城市| 大洼县| 襄汾县| 娱乐| 阿拉尔市| 新乐市| 吴堡县| 安乡县| 廊坊市| 讷河市| 屏东县| 宁国市|