WinForm之中BindingNavigator控件的使用


WinForm之中BindingNavigator控件的使用
在微軟WinForm中,BindingNavigator控件主要用來綁定數據。可以將一個數據集合與該控件綁定,以進行數據

聯動的顯示效果。如圖下圖所示:

WinForm之中BindingNavigator控件的使用 - Bill  - 已經開始···

那么,下面我們就來用BindingNavigator控件做一下上圖所示的效果。
分析:
該案例以BindingNavigator控件為主線,我們定義一個實體類,將實體類以集合的形式顯示在DataGridView中,

同時,將BindingNavigator與DataGridView綁定,將BindingNavigator與文本框顯示數據綁定,將

BindingNavigator與Button控件綁定,來演示一個數據聯動的效果,已達到學習BindingNavigator控件的目的。

步驟:
首先,在Visual Studio中創建一個WinForm應用程序,在Form1中添加BindingNavigator控件,DataGridView控

件,兩個文本框,四個按鈕(分別表示:First,Previuos,Next,Last);

其次,在項目中添加一個用戶類User.cs,該類中有兩個屬性Name和Age;
示例代碼:
using System;
using System.Collections.Generic;
using System.Text;

namespace BindingDemo
{
    public class User
    {
        public User()
        {

        }
        public User(string name,int age)
        {
            this.Name = name;
            this.Age = age;
        }
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private int age;

        public int Age
        {
            get { return age; }
            set { age = value; }
        }

    }
}

再次,在Form1的代碼之中,創建User對象,並將對象保存到List<>泛型集合之中,並顯示到DataGridView中;
關鍵代碼:
        //創建一個泛型集合
        List<User> users = new List<User>();

        /// <summary>
        /// 窗體加載事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MainForm_Load(object sender, EventArgs e)
        {
            //創建用戶
            User zh = new User("張三", 12);
            User li = new User("李四",18);
            User ww = new User("王五",20);
            User ll = new User("劉六",30);
            User X = new User("x-man",30);
            User spaider = new User("spaiderman",25);
            User ironman = new User("ironman",30);
            //將用戶添加到List<>泛型集合的對象中
            users.Add(zh);
            users.Add(li);
            users.Add(ww);
            users.Add(ll);
            users.Add(X);
            users.Add(spaider);
            users.Add(ironman);
 }
再次,創建BindingSource對象,並在窗體加載事件中將BindingNavigator控件,與DataGridView,文本框,按

鈕控件進行數據綁定,進行數據聯動顯示效果;
示例代碼: Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace BindingDemo
{
    public partial class MainForm : Form
    {
        //創建一個泛型集合
        List<User> users = new List<User>();
        //
        BindingSource bs = new BindingSource();

        public MainForm()
        {
            InitializeComponent();
        }


        /// <summary>
        /// 窗體加載事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MainForm_Load(object sender, EventArgs e)
        {
            //創建用戶
            User zh = new User("張三", 12);
            User li = new User("李四",18);
            User ww = new User("王五",20);
            User ll = new User("劉六",30);
            User X = new User("x-man",30);
            User spaider = new User("spaiderman",25);
            User ironman = new User("ironman",30);
            //將用戶添加到List<>泛型集合的對象中
            users.Add(zh);
            users.Add(li);
            users.Add(ww);
            users.Add(ll);
            users.Add(X);
            users.Add(spaider);
            users.Add(ironman);

            //將泛型集合對象中的值賦給Bindingsource對象的DataSource
            bs.DataSource = users;
            //將數據顯示到DataGridView中去
            this.dgvMain.DataSource = bs;
            //綁定導航
            this.bindingNavigator1.BindingSource = bs;
            //與文本框進行數據綁定
            this.txtName.DataBindings.Add("Text",bs,"Name");
            this.txtAge.DataBindings.Add("Text",bs,"Age");
        }

        //移動到第一行         private void btnFirst_Click(object sender, EventArgs e)
        {
            this.bs.MoveFirst();
        }

        //移動到前一行
        private void btnPrevious_Click(object sender, EventArgs e)
        {
             this.bs.MovePrevious();
        }

        //移動到下一行
        private void btnNext_Click(object sender, EventArgs e)
        {
            this.bs.MoveNext();
        }

        //移動到最后一行
        private void btnLast_Click(object sender, EventArgs e)
        {
            this.bs.MoveLast();
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM