WinForm之中BindingNavigator控件的使用
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控件的使用的更多相关文章
- DevExpress winform XtraEditor常用控件
最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...
- WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享
WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享 在WinForm程序中,我们有时需要对某容器内的所有控件做批量操作.如批量判断是否允许为空?批量设置为只读.批量设置 ...
- Winform中checklistbox控件的常用方法
Winform中checklistbox控件的常用方法最近用到checklistbox控件,在使用其过程中,收集了其相关的代码段1.添加项checkedListBox1.Items.Add(" ...
- {VS2010C#}{WinForm}{ActiveX}VS2010C#开发基于WinForm的ActiveX控件
在VS2010中使用C#开发基于WinForm的ActiveX控件 常见的一些ActiveX大部分是使用VB.Delphi.C++开发,使用C#开发ActiveX要解决下面三个问题: 使.NET组件可 ...
- Atitit. .net c# web 跟客户端winform 的ui控件结构比较
Atitit. .net c# web 跟客户端winform 的ui控件结构比较 .net 4.5 webform Winform 命名空间 System.Web.UI.WebControls ...
- WinForm窗体及其控件的自适应
3步骤: 1.在需要自适应的Form中实例化全局变量 AutoSizeFormClass.cs源码在下方 AutoSizeFormClass asc = new AutoSizeFormClass ...
- WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二)
WinForm界面布局控件WeifenLuo.WinFormsUI.Docking"的使用 (二) 编写人:CC阿爸 2015-1-29 今天我想与大家继续一起分享这一伟大的控件.有兴趣的同 ...
- .Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~
原文:.Net2.0 --Winform结合WebBrowser控件和Socket老技术来实现另类Push~ 目前的企业级开发比较流行的是Web2.0技术,但是由于Web技术基于请求--响应的交互模式 ...
- [C#]WinForm 中 comboBox控件之数据绑定
[C#]WinForm 中 comboBox控件之数据绑定 一.IList 现在我们直接创建一个List集合,然后绑定 IList<string> list = new List<s ...
随机推荐
- 在centos7下安装python3的步骤
环境搭建 准备工具: centos7:http://mirror.bit.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso virtus ...
- python摸爬滚打之day022----模块(序列化操作)
1.pickle 可以将我们python中的任意数据类型转化成bytes并写入到文件中. 同样也可以把文件中写好的bytes转换回我们python的数据. pickle可以直接序列化对象. clas ...
- 面试题----入参两个Integer,无返回值,然后使这个两个值在调用函数后交换
我最近看到过一个比较好玩的面试题. 写个方法,入参两个Integer,无返回值,然后使这个两个值在调用函数后交换 很有意思的一个题目,引发我的深思,根据一路的学习过来,下面把实现代码贴出来,方便学习. ...
- springboot中通过cors协议解决跨域问题
1.对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出现. 针对跨域问题,我们可能第一个想到的解决方案就是jsonp,并且以前处理跨域问题我基本也是这么处 ...
- docker+httpd的安装
docker pull docker.io/httpd //直接这么运行会报“没有conf/httpd.cong这个文件” docker run -d --name httpd2. -p : -p : ...
- Redis入门到高可用(十八)—— 主从复制
一.单机有什么问题 1.机器故障 2.容量瓶颈 3.QPS瓶颈 二.主从复制 1.数据副本(高可用.分布式基础) 2.拓展读性能(读写分离) 简单总结: 三.主从复制配置 四.主从复制配置-实验演示 ...
- javascript常用的操作
1.concat() 连接两个或更多的数组,并返回一个新的数组.注意:该方法不会改变原数组 var arry1=["李四",“王二”]: var arry2=['赵柳',“李旺 ...
- node os模块
const os = require('os'); console.log(os.homedir()); console.log(os.hostname()); console.log(os.plat ...
- 使用AMBER中遇到的一些问题
1.读取蛋白问题 读取无配体pdb文件(loadpdb complex.pdb)时,出现一堆 FATAL: Atom .R<ARG >.A<HD1 > does not hav ...
- Windows平台搭建Kafka
1. 安装JDK 1.1 安装文件:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.htm ...