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();
        }
    }
}

WinForm之中BindingNavigator控件的使用的更多相关文章

  1. DevExpress winform XtraEditor常用控件

    最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...

  2. WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享

    WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享 在WinForm程序中,我们有时需要对某容器内的所有控件做批量操作.如批量判断是否允许为空?批量设置为只读.批量设置 ...

  3. Winform中checklistbox控件的常用方法

    Winform中checklistbox控件的常用方法最近用到checklistbox控件,在使用其过程中,收集了其相关的代码段1.添加项checkedListBox1.Items.Add(" ...

  4. {VS2010C#}{WinForm}{ActiveX}VS2010C#开发基于WinForm的ActiveX控件

    在VS2010中使用C#开发基于WinForm的ActiveX控件 常见的一些ActiveX大部分是使用VB.Delphi.C++开发,使用C#开发ActiveX要解决下面三个问题: 使.NET组件可 ...

  5. Atitit. .net c# web 跟客户端winform 的ui控件结构比较

    Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net   4.5 webform Winform 命名空间 System.Web.UI.WebControls ...

  6. WinForm窗体及其控件的自适应

    3步骤: 1.在需要自适应的Form中实例化全局变量   AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass ...

  7. WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二)

    WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二) 编写人:CC阿爸 2015-1-29 今天我想与大家继续一起分享这一伟大的控件.有兴趣的同 ...

  8. .Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~

    原文:.Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~ 目前的企业级开发比较流行的是Web2.0技术,但是由于Web技术基于请求--响应的交互模式 ...

  9. [C#]WinForm 中 comboBox控件之数据绑定

    [C#]WinForm 中 comboBox控件之数据绑定 一.IList 现在我们直接创建一个List集合,然后绑定 IList<string> list = new List<s ...

随机推荐

  1. [设计语言][统一建模语言][软件开发方法学][UML] UML

    背景介绍 UML是一种统计建模语言. WIKI: https://en.wikipedia.org/wiki/Unified_Modeling_Language UML是OMG (object man ...

  2. C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别

    1.虚函数(impure virtual) C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现. 子类可以重写父类的虚函数实现子类的特殊化. 如下就是一个父类中的 ...

  3. python框架之Django(16)-接入Redis

    准备 安装Redis 参考 Ubuntu 中 Redis 的安装与使用. 在python中使用Redis 参考 python 中使用 Redis . 安装依赖包 在 Django 中接入 Redis ...

  4. 【UML】NO.54.EBook.6.UML.2.002-【Thinking In UML 大象 第二版】- UML 核心元素

    1.0.0 Summary Tittle:[UML]NO.54.EBook.6.UML.2.002-[Thinking In UML 大象 第二版]- UML 核心元素 Style:DesignPat ...

  5. PHP环境安全加固

    随着使用 PHP 环境的用户越来越多,相关的安全问题也变得越来越重要.PHP 环境提供的安全模式是一个非常重要的内嵌安全机制,PHP 安全模式能有效控制一些 PHP 环境中的函数(例如system() ...

  6. 56.关于vue项目的seo问题

    不可否定的是,vue现在火.但是在实际项目中,特别是像一下交互网站,我们不可避免会考虑到的是seo问题,这直接关系到我们网站的排名,很多人说用vue搭建的网站不能做优化,那我们真的要放弃vue,放弃前 ...

  7. idea快捷键使用

    idea                                 eclipse project                           workspace module     ...

  8. javascript DOM 常用方法

    前端HTML+CSS+JS流程导图:https://www.processon.com/view/link/5ad1c2d0e4b0b74a6dd64f3c HTML+CSS+Javascript+j ...

  9. 记录tiny6410 jlink 命令行调试linux-2.6.38内核

    1\首先启动nandflash uboot->linux内核->文件系统,进入文件系统命令行 2\启动JLinkGDBServer -device ARM11 3\启动arm-none-e ...

  10. SQL SEVER 的基本请求指令

    SQL分类:DDL--数据定义语言(create,alter,drop,declare) DML--数据操纵语言(select,delete,update,insert) DCL--数据控制语言(gr ...