Winform开发常用控件之ComboBox、ListBox

ComboBox就是我们常见的下拉框,对于此类控件,我们最关心的当然是数据的绑定和选择值得获取。

首先介绍个属性DropDownStyle,如果不允许ComboBox输入值,只能选择,就选DropDownList,默认是DropDown。可以试一试看看效果。

1、简单的数据加载和值选取

与前面介绍的CheckBox类似,还是在items集合中设置选择项,然后取值即可,贴图和代码

 //在combobox中选择值变化中直接取选中的项,然后赋值给label
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            label1.Text = comboBox1.SelectedItem.ToString() ;
        }
 //点击按钮取值,即在其他方法中取到combobox选中的值,其实一样的
        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text =comboBox1.SelectedItem.ToString();
        }

从代码中可以看到,无论是comboBox自身事件取值还是其他方法中取值,都是一样的

2、ComboBox绑定数组

这个也可以用数组赋值,上代码和图

//将数组项一一添加到checkedListBox上
            String[] arr = new String[] { "足球","篮球","排球"};
            for (int i = 0; i < arr.Length; i++)
            {
                comboBox1.Items.Add(arr[i]);
            }
            //下面两种方法都可以为ComboBox赋初试选中值
            //comboBox1.SelectedIndex = 0;
            comboBox1.SelectedItem = "排球";

3、ComboBox绑定DataTable并获取选中的值

private void Form1_Load(object sender, EventArgs e)
        {
            //先构造一个dataTable,或者从数据库读取到一个,这里自己构造一个
            DataTable dataTable = new DataTable("Student");
            dataTable.Columns.Add("Number", typeof(String));
            dataTable.Columns.Add("Name", typeof(String));
            dataTable.Columns.Add("RealName", typeof(String));
            dataTable.Columns.Add("UserName", typeof(String));
            dataTable.Columns.Add("Address", typeof(String));
            dataTable.Rows.Add(new String[] { "1", "James", "张三", "james.zhang", "长沙" });
            dataTable.Rows.Add(new String[] { "2", "Mary", "李四", "mary.xu", "山东" });
            dataTable.Rows.Add(new String[] { "3", "Jack", "王五", "jack.li", "台湾" });
            dataTable.Rows.Add(new String[] { "4", "joy", "赵六", "joy.zhou", "济南" });
            dataTable.Rows.Add(new String[] { "5", "jay", "钱七", "jay.ji", "美国" });
            dataTable.Rows.Add(new String[] { "6", "stephen", "康忠鑫", "Stephen.Kang", "深圳" });

            comboBox1.DataSource = dataTable;//绑定
            comboBox1.DisplayMember = dataTable.Columns[2].ColumnName;//显示的文本
            comboBox1.ValueMember = dataTable.Columns[1].ColumnName;//对应的值
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //获取显示的文本和选中的值
            MessageBox.Show("您选择的是" + comboBox1.GetItemText(comboBox1.Items[comboBox1.SelectedIndex]) + "|" + comboBox1.SelectedValue);
        }

下面的获取方法可以获取绑定的dataTable里面的其他列值

private void button1_Click(object sender, EventArgs e)
        {
            //获取显示的文本和选中的值
            DataRowView dr = (DataRowView)comboBox1.Items[comboBox1.SelectedIndex];
            MessageBox.Show(dr[4].ToString());//根据dr的index,获取datable里面的其他值
        }

这里取第四列Address

4、ComboBox绑定List,并获取值

  private void Form1_Load(object sender, EventArgs e)
        {
            //这里构造一个List,当然也可以从数据库中获取
            IList<Student> lst = new List<Student>();
            Student stu1 = new Student();
            stu1.Name = "王五";
            stu1.Address = "北京市";
            lst.Add(stu1);
            Student stu2 = new Student();
            stu2.Name = "李四";
            stu2.Address = "上海市";
            lst.Add(stu2);

            comboBox1.DataSource = lst;//绑定
            comboBox1.DisplayMember = "Name";//显示的文本
            comboBox1.ValueMember ="Address";//对应的值
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //获取显示文本和值
            MessageBox.Show("您选择的是" + comboBox1.GetItemText(comboBox1.Items[comboBox1.SelectedIndex]) + "|" + comboBox1.SelectedValue);
        }

效果图

当然ComboBox还有很多种用法,比如加载带有多选框或单选按钮的列表,有感兴趣的朋友可以再研究,以后项目如果使用到偶也会贴出来的。

ListBox用法与ComboBox用法完全一样滴哦,只需将comboBox1换为listBox1即可。贴个图看看ListBox是个什么东东?

对,就是这样的,就是展示方式不一样而已。

时间: 2024-11-08 22:40:32

Winform开发常用控件之ComboBox、ListBox的相关文章

Winform开发常用控件之Checkbox和CheckedListBox

Winform的开发基本都是基于控件事件的,也就是事件驱动型的. 多选框的放置和值的获取有很多种,这里介绍几个简单常用的方法 1.直接放置Checkbox,并获取Checkbox的值 上图 做法也非常简单,就是在form中放置多个checkbox,然后循环遍历,检查其checked没有,然后将checkbox.text拼接到一起,赋值给label,当然实际开发中,我们会将选取的值放入数据库中.上代码 private void button1_Click(object sender, EventA

Winform开发常用控件之TreeView菜单导航和权限用法

TreeView一个很棒的控件,我们在做WEB开发时常常犯困的一个东东.当然这里介绍winform里面的用法唠. 先介绍几个属性吧,CheckBoxes设置为true的话树形节点前面会出现checkbox勾选框.ImageList绑定树形里面的图标(界面上放一个Imgelist控件,绑定上即可).ShowLines(树形展开时显示线条)等等 哦,这个方法好,this.MenutreeView.ExpandAll();即Treeview加载后全部展开. 下面先介绍一个简单的菜单用法 1.TreeV

Winform开发常用控件之DataGridView的简单数据绑定——自动绑定

DataGridView控件可谓是Winform开发的重点控件,对于数据的呈现和操作非常方便,DataGridView可谓是既简单又复杂.简单在于其已经集成了很多方法,复杂在于可以使用其实现复杂的数据呈现和操作. 本文是入门级培训,先介绍DataGridView的简单应用,复杂的应用在后续的博文中会一一呈上. DataGridView主要是呈现数据和数据操作的,那自然离不开数据. 首先是数据绑定,DataGridView的数据源可以是DataSet.DataTable或Ilist等,至于Data

DevExpress winform XtraEditor常用控件

最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用起来也方便,在designer页面拖拽控件之后可以直接在页面添加要显示的项目: 后台的代码控制也方便 1 cbBoxSex.Properties.Items.Add("全部"); 2 cbBoxSex.Properties.Items.Add("男"); 3 cbBox

WinForm开发-界面控件到实体,实体到界面控件自动绑定

在WinForm开发中,我们是不是为绑定界面控件的数据而每个控件每个控件的赋值?在保存修改时是不是也是每个控件每个控件的赋值到实体中?字段一多,那简直就是噩梦.有没有像Web中那样方便的方法直接就自动映射了呢?现在不用如此繁琐,在RDIFramework.NET开发框架的WinForm部分新增了界面控件到实体,实体到界面控件自动绑定,一句话就搞定了,非常的方便.主要是引用“RDIFramework.WinForm.Utilities.dll”dll文件,再调用下面两个方法即可: 1.实体到界面控

从零开始iOS8编程【iOS开发常用控件】

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 AlertView控件 弹出对话框: 修改HelloHaoMengZhu项目代码, 添加AlertView: -(IBAction)testAlert { NSString *str = [[NSString alloc] initWithFormat:@"Hello, %@",txtField.te

c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index       Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex); // 取得当前单元格的行 Index       Console.WriteLine(DataGridView1.CurrentCell.RowIndex); ******

Windows App开发之常用控件与应用栏

控件的属性.事件与样式资源 如何添加控件 添加控件的方式有多种,大家更喜欢下面哪一种呢? 1)使用诸如Blend for Visual Studio或Microsoft Visual Studio XAML设计器的设计工具. 2)在Visual Studio XAML编辑器中将控件添加到XAML代码中. 3)在代码中添加控件. 注意:当应用运行时会看到你在代码中添加的控件,但在 Visual Studio XAML 设计器中看不到. 前面我们通过在工具箱拖住控件以及直接在写XAML代码来设置控件

IOS开发基础常用控件简介

在IOS开发中,各类控件完美的解决了开发过程中界面与交互展现的问题,使得IOS产品界面更加灵活实用,IOS常用控件的介绍如下. 1.窗口 UIWindow iPhone的规则是一个窗口,多个视图,窗口是你在app显示出来你看到的最底层,他是固定不变的,基本上可以不怎么理会,但要知道每层是怎样的架构. 2.视图 UIView, 是用户构建界面的基础,所有的控件都是在这个页面上画出来的,你可以把它当成是一个画布,你可以通过UIView增加控件,并利用控件和用户进行交互和传递数据. 窗口和视图是最基本