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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • docker部署Kafka_kafka容器部署

    docker部署Kafka_kafka容器部署1.拉取镜像dockerpullwurstmeister/zookeeperdockerpullwurstmeister/kafka2.启动,先启动zookeeperdockerrun-d–namezookeeper-p2181:2181-twurstmeister/zookeeper再启动kafka,中间两个参数的172.17.137.55改为宿主机器的IP地址,如果不这么设置,可能会导致在别的机器上访问不到kafka。使用docker命令可快速在同一台机器搭

    2022年10月18日
  • getmethod方法什么意思_getstring方法

    getmethod方法什么意思_getstring方法getMethod方法要注意的地方:类对象.getMethod(mName,HttpServletRequest.class,HttpServletResponse.class);第一个参数是mName“方法名称”第二个参数是“方法参数的类对象”//这个就是为什么他是.class的原因,为什么参数是类对象?因为这个是Java规定的举个例子  这是一个抽取出的通用的servlet(页面请求经过的第…

  • 浅谈当前的手机开发技术[通俗易懂]

    浅谈当前的手机开发技术[通俗易懂]随便聊聊现在的各种手机软件开发技术

  • c++如何获取系统当前时间(超级详细)

    c++如何获取系统当前时间(超级详细)voidgettime(){time_trawtime;structtm*ptminfo;time(&rawtime);ptminfo=localtime(&rawtime);printf(“current:%02d-%02d-%02d%02d:%02d:%02…

    2022年10月19日
  • 详解C/C++中volatile关键字

    详解C/C++中volatile关键字一、volatile介绍volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:这段…

  • 02.pycharm中配置PyInstaller打包工具

    02.pycharm中配置PyInstaller打包工具我用的环境版本python解释器:3.6.6pycharm开发工具:2018.3.6社区版PyInstaller打包工具:4.5.1pycharm中配置PyInstaller打包工具opts可选的参数参数含义-F-onefile,打包成一个exe文件-D-onefile,创建一个目录,包含exe文件,但会依赖很多文件(默认选项)-c-console,-nowindowed,使用控制台,无窗口(默认)-w-Windowed,-noconsole,使用窗

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

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