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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea建立springboot+mybatis项目_idea新建一个javaweb项目

    idea建立springboot+mybatis项目_idea新建一个javaweb项目亲测可用!!!https://blog.csdn.net/weixin_42685022/article/details/82215893

    2022年9月4日
    6
  • linux 下 用phpmailer类smtp发送邮件始终不成功,提示:ERROR: Failed to co

    linux 下 用phpmailer类smtp发送邮件始终不成功,提示:ERROR: Failed to co

    2021年9月25日
    48
  • 串口服务器中文使用文档,MOXA 串口服务器中文使用文档.doc

    MOXA串口服务器中文使用文档MOXA串口联网服务器NPORT5130特点-以太网口支持100/10M自适应,串口支持RS-422,RS-485(2w/4w)-低成本、信用卡大小-支持Windows/LinuxCOM串口驱动程序模式-提供包括TCPServer、TCPClient、UDPServer/Client和EthernetModem在内的不同socket操作模式-…

    2022年4月7日
    42
  • mybatis清空一级缓存_jvm缓存

    mybatis清空一级缓存_jvm缓存#一、前情提要长久以来,对springboot项目中缓存的使用都会有一些争论,一部分人认为缓存就应该具有延时性,即给他设置了10分钟的缓存,就应该10分钟后清理。还有一部分人认为缓存应该具有及时性(或弱及时性),即我设置了缓存后,一旦数据发生变化,缓存需要重新刷新。对于第一种观点,事实上现有的缓存结构就已经满足了,无需我们进行特殊操作,这里我们不做过多讨论。对于第二种观点,事实上现有的缓存结构也能够满足,只不过在加缓存的时候好加,可是在清理缓存的时候,我们需要手动对更新接口进行配置,可是由于项目的.

    2022年9月2日
    2
  • WireShark抓包后数据分析

    WireShark抓包后数据分析在分析数据之前,我们先了解一下我们传输数据的结构体系,如下图:这是两种体系,我们常知的一般都是TCP/IP体系结构。TCP/IP体系架构分析不难发现,TCP/IP体系中包含着很多我们熟悉的协议,比如说:http、smtp、https等。而我们人(使用者)是站在应用层之上的,我们想把数据上传或者说发送给别人,就要通过一些应用,如:QQ、微信、百度网盘等。然后就经过一层层加密(在数据包前加个“头”),一层层的传递。Frame层(物理层)分析这是我自己抓包的一个例子,我从我自己的QQ发了一条消息给朋友,

    2022年9月4日
    4
  • Android应用程序中的多个Activity的显示创建和调用[通俗易懂]

    Android应用程序中的多个Activity的显示创建和调用

    2022年1月30日
    49

发表回复

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

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