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


相关推荐

  • android开发笔记之 Android代码混淆打包

    android开发笔记之 Android代码混淆打包大家应该都听过代码混淆吧,如果大家有去反编译过别人的APK的话,应该会看到好多包名和类名是a,b.c….之类的的吧,这里就提到了一个概念:混淆。那就让我们了解下这个东西吧作用:为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译缺省情况下,proguard会混淆所有代码,但是下面几种情况是不能改变java元素的名称,否则就会这样就会导致程序出错。一,我们用到反射的地方。

    2022年5月30日
    42
  • 批量修改文件后缀名「建议收藏」

    批量修改文件后缀名「建议收藏」在该文件夹下新建一个txt文件,输入:ren*原后缀名*新后缀名保存,将此txt文件的后缀改为.bat,双击运行,ok。说明:ren是rename(重命名)的缩写。第一个参数指定要匹配

    2022年8月2日
    8
  • 格拉姆矩阵(Gram matrix)详细解读

    格拉姆矩阵(Gram matrix)详细解读目录基础知识-向量的内积Grammatrix介绍Grammatrix的应用-风格迁移一、基础知识-向量的内积1.1向量的内积定义:也叫向量的点乘,对两个向量执行内积运算,就是对这两个向

    2022年8月2日
    7
  • java常见的基本数据类型_Java中个数据类型范围

    java常见的基本数据类型_Java中个数据类型范围作为Java新手,笔者在跟随网络教程学习了标识符之后,开始了基本数据类型的学习。java的基本数据类型一共有八种,数值型(整数类型与浮点数类型),字符型和布尔型。其中,整数类型有byte(1字节),表数范围-128到127 short(2字节)int(4)字节 long(8字节)

    2022年5月3日
    58
  • PyTorch实现MLP的两种方法,以及nn.Conv1d, kernel_size=1和nn.Linear的区别

    PyTorch实现MLP的两种方法,以及nn.Conv1d,kernel_size=1和nn.Linear的区别MLP(Multi-layerperceptron)实现MLP结构方法1:nn.Linear方法2:nn.Conv1d&kernel_size=1nn.Conv1d,kernel_size=1与nn.Linear不同MLP(Multi-layerperceptron)实现最近在看PointNet论文,其主要思想为利用MLP结构学习点云特征,并进行全局池化(构造一个对称函数,

    2022年4月6日
    177
  • Linux 修改时区和时间

    Linux 修改时区和时间

    2022年2月16日
    53

发表回复

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

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