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


相关推荐

  • MySQL 嵌套查询_嵌套查询和嵌套结果的区别

    MySQL 嵌套查询_嵌套查询和嵌套结果的区别自测题:1、查询哪些课程没有人选修列出课程号和课程名;[code]selectcno,cnamefromcoursewherecnonotin(selectdistinctcnofromsc)[/code]2、用子查询实现如下查询:(1)查询选修了1号课程的学生姓名和所在系;[code]selectsname,snofromstudentwheresnoin(select…

    2022年8月10日
    3
  • JS数组合并(5种)

    JS数组合并(5种)前言项目过程中,经常会遇到JS数组合并的情况,时常为这个纠结。这里整理一下。简单而实用的for最容易想到的莫过于for了。会变更原数组,当然也可以写成生成新数组的形式。letarr=[1,2]letarr2=[3,4]for(letiinarr2){arr.push(arr2[i])}console.log(arr)//[1,2,3,4]arr.concat(arr2)会生成新的数组。letarr=[1,2]let

    2022年6月30日
    25
  • 2004(馬拉)微軟科技教育大會嘅卡拉囌

    2004(馬拉)微軟科技教育大會嘅卡拉囌

    科技 2021年7月21日
    64
  • redis 乐观锁_什么时候用乐观锁

    redis 乐观锁_什么时候用乐观锁文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

    2022年8月9日
    0
  • leetcode 回文数_字符串转换为整数

    leetcode 回文数_字符串转换为整数原题链接请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“1

    2022年8月9日
    2
  • 【Ubuntu安装 Nginx】「建议收藏」

    【Ubuntu安装 Nginx】「建议收藏」ubuntu安装nginx目前支持两种安装方式,一种是apt-get的方式,另一种是根据包安装的方式为方便我统一使用root用户一、apt-get安装nginx切换至root用户sudosurootapt-getinstallnginx如果安装时遇到这种情况,就输入sudoaptupdate在重新输入安装命令即可。查看nginx是否安装成功nginx-v启动nginxservicenginxstart启动后,在网页重输入ip地址,即可看到nginx的欢

    2022年9月19日
    0

发表回复

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

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