winform控件之BindingNavigator

winform控件之BindingNavigatorBindingNavigator控件可以为我们绑定的数据提供一个导航的功能,默认的工具是这个样子的,我们可以根据需求再增加功能1.BindingNavigator用法1.1界面布局界面布局如下一个BindingNavigator名为bindingNavigator1一个DataGridView名为DataGridView1两个TextBox分别为TextBox1和…

大家好,又见面了,我是你们的朋友全栈君。

BindingNavigator控件可以为我们绑定的数据提供一个导航的功能,默认的工具是这个样子的,我们可以根据需求再增加功能

winform控件之BindingNavigator

 

1.BindingNavigator用法

1.1界面布局

界面布局如下

一个BindingNavigator名为bindingNavigator1

一个DataGridView名为DataGridView1

两个TextBox分别为TextBox1和TextBox2

四个Button分别为First,Previous,Next,Last

winform控件之BindingNavigator

 

1.2用法示例

 

BindingNavigator其实是需要BindingSource作为桥梁和真正的数据一起其他UI进行联动显示的,所以我们首先需要创建我们自己的BindingSource和具体的数据,这里我们创建一个User类,代码如下

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

然后我们需要创建一个BindingSource,并且填充数据,具体代码如下

    public partial class FormMain : Form
    {

        List<User> users = new List<User>();
        BindingSource bs = new BindingSource();


        public FormMain(ArrayList arrip_list)
        {
            InitializeComponent();

            //创建用户
            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.dataGridView1.DataSource = bs;
            //绑定导航
            this.bindingNavigator1.BindingSource = bs;
            //与文本框进行数据绑定
            this.textBox1.DataBindings.Add("Text", bs, "Name");
            this.textBox2.DataBindings.Add("Text", bs, "Age");
        }

        private void First_Click(object sender, EventArgs e)
        {
            this.bs.MoveFirst();
        }

        private void Previuos_Click(object sender, EventArgs e)
        {
            this.bs.MovePrevious();
        }

        private void Last_Click(object sender, EventArgs e)
        {
            this.bs.MoveLast();
        }

        private void Next_Click(object sender, EventArgs e)
        {
            this.bs.MoveNext();
        }        
    }

都做好之后我们就可以看到效果了,BindingNavigator就相当于提供了一个导航栏,可以在这个导航栏上直接进行简单的查找,增加,删除等动作

 

 

 

 

 

 

 

 

 

参考文献

WinForm之中BindingNavigator控件的使用

BindingNavigator Class

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158058.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 转 提问的智慧

    转 提问的智慧维基入口: 提问的智慧英文版http://www.catb.org/~esr/faqs/smart-questions.html中文版http://www.beiww.com/doc/oss/smart-questions.html

    2022年7月26日
  • C语言学习——指针精华(3)工程项目复习

    C语言学习——指针精华(3)工程项目复习编程题一、定义一个数组,从键盘输入10个整数,将10个数字中的最大值和最小值进行位置交换 (使用指针的方式)。代码如下:#include”pch.h”#include<stdio.h>void SWAP(int*p1, int*p2);int main(){ int a[10]; for (int i = 0; i < 10; i++) { scanf_…

    2022年8月18日
  • 什么是javabean及其用法

    什么是javabean及其用法一、什么是JavaBean  JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:这个Java类必须具有一个无参的构造函数 属性必须私有化。 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。javaBean范例:1packagegacl.javabean.study;23/**4…

    2022年7月17日
  • php 邮箱正则_正则表达式判断邮箱格式

    php 邮箱正则_正则表达式判断邮箱格式PHP邮箱验证正则表达式:preg_match(“/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i”,$email);如果需要更加完善、严格的验证,修改这个正则表达式即可。PHP邮箱验证正则表达式新手实例:functionisEmail($email){if(preg_match(“/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)…

    2022年9月24日
  • LK光流法_剪辑光流法

    LK光流法_剪辑光流法Lucas–Kanade光流算法是一种两帧差分的光流估计算法。它由BruceD.Lucas和TakeoKanade提出[1]。LK光流法有三个假设条件:1.亮度恒定:一个像素点随着时

    2022年8月1日
  • 面试官:来说说单点登录的三种实现方式

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 来源:cnblogs.com/yonghengzh/p/13712729.html 前言 在 B/S 系统中,登录功…

    2021年6月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号