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

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

 更新時(shí)間:2022年02月26日 11:04:37   作者:.NET開(kāi)發(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)論

汤阴县| 隆化县| 吉安市| 中阳县| 潼南县| 平阳县| 湘乡市| 内江市| 宝清县| 方山县| 金阳县| 兴山县| 桦川县| 九龙县| 象州县| 广汉市| 忻城县| 平乐县| 都昌县| 遂溪县| 奉贤区| 响水县| 黎城县| 吴忠市| 临海市| 南汇区| 温泉县| 聂荣县| 客服| 丹巴县| 青阳县| 上思县| 屯门区| 文安县| 宁晋县| 宾阳县| 曲阳县| 赤峰市| 晋中市| 朝阳县| 花莲县|