WinForm之中BindingNavigator控件的使用
在微軟WinForm中,BindingNavigator控件主要用來綁定數據。可以將一個數據集合與該控件綁定,以進行數據
聯動的顯示效果。如圖下圖所示:
那么,下面我們就來用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();
}
}
}